Tạo bảng trong MySQL và MariaDB trên máy chủ Ubuntu
Bài viết này thảo luận về cách tạo bảng trong MySQL hoặc MariaDB. Chúng ta sẽ thực hiện trên một máy chủ VPS Ubuntu 12.04, và hầu hết các lệnh sẽ tương tự trên bất kỳ máy Ubuntu.
MySQL và MariaDB là hai hệ thống cơ sở dữ liệu phổ biến sử dụng ngôn ngữ SQL. Nhiều ứng dụng trên Ubuntu sử dụng MySQL hoặc MariaDB để quản lý thông tin của họ.
Cách cài đặt MySQL và MariaDB trên Ubuntu
MySQL và MariaDB có cú pháp lệnh giống nhau, vì vậy bất kỳ hệ thống cơ sở dữ liệu nào cũng sẽ tham khảo hướng dẫn này.
Cài đặt MySQL trên Ubuntu, sử dụng lệnh sau:
sudo apt-get install mysql-server
Cài đặt MariaDB trên Ubuntu 12.04, gõ vào terminal lệnh sau:
sudo apt-get update sudo apt-get install python-software-properties sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://repo.maxindo.net.id/mariadb/repo/5.5/ubuntu precise main' sudo apt-get update sudo apt-get install mariadb-server
Tạo cơ sở dữ liệu trong MySQL và MariaDB
Trước khi chúng ta có thể xem các bảng, chúng ta cần cấu hình môi trường cơ sở dữ liệu ban đầu trong MySQL.
Đăng nhập vào MySQL hoặc MariaDB bằng lệnh sau:
mysql -u root -p
Nhập mật khẩu bạn đã thiết lập trong quá trình cài đặt để tiếp tục.
Chúng ta sẽ tạo một cơ sở dữ liệu để học có tên là "playground". Tạo cơ sở dữ liệu bằng lệnh sau:
CREATE DATABASE playground;
Chúng ta sẽ chuyển sang cơ sở dữ liệu mới với lệnh sau:
USE playground;
Bây giờ chúng ta đã sẵn sàng bắt đầu tìm hiểu về các bảng.
Cách tạo bảng trong MySQL và MariaDB
Chúng ta đã đặt tên cho cơ sở dữ liệu của chúng ta là "playground", vì vậy giờ hãy tạo một bảng trong cơ sở dữ liệu này mô tả thiết bị được tìm thấy trong một sân chơi.
Cú pháp tạo bảng tuân theo quy tắc này:
CREATE TABLE [IF NOT EXISTS] name_of_table (list_of_table_columns) [engine=database_engine]
Các phần nằm trong dấu ngoặc vuông ("[" và "]") là tùy chọn. Tùy chọn "IF NOT EXISTS" khiến quá trình tạo bảng bị hủy nếu đã có một bảng cùng tên. Sử dụng tùy chọn này là quan trọng để tránh gặp lỗi nếu bảng đã được tạo trước đó.
Phần "engine=database_engine" là để chọn một loại bảng cụ thể để tối ưu hóa xử lý thông tin. Điều này nằm ngoài phạm vi của bài viết này và mặc định tốt nhất (InnoDB) sẽ được chọn nếu bỏ qua tùy chọn này.
Chúng ta sẽ giải thích các trường cần thiết trong phần khai báo cột trong một lúc, nhưng hiện tại hãy tạo bảng của chúng ta:
CREATE TABLE IF NOT EXISTS equipment ( equip_id int(5) NOT NULL AUTO_INCREMENT, type varchar(50) DEFAULT NULL, install_date DATE DEFAULT NULL, color varchar(20) DEFAULT NULL, working bool DEFAULT NULL, location varchar(250) DEFAULT NULL, PRIMARY KEY(equip_id) );
Query OK, 0 rows affected (0.03 sec)
Định nghĩa các cột
Để xem những gì chúng ta đã đạt được, sử dụng lệnh sau để in ra các cột của bảng mới của chúng ta:
show columns in equipment;
+--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | |+--------------+--------------+------+-----+---------+----------------+ | equip_id | int(5) | NO | PRI | NULL | auto_increment | | type | varchar(50) | YES | | NULL | | | install_date | date | YES | | NULL | | | color | varchar(20) | YES | | NULL | | | working | tinyint(1) | YES | | NULL | | | location | varchar(250) | YES | | NULL | | +--------------+--------------+------+-----+---------+----------------+ 6 rows in set (0.00 sec)
Kết quả cho chúng ta một số thông tin về các trường cần thiết để định nghĩa một cột. Mỗi mô tả cột trong lệnh tạo bảng được phân tách bằng dấu phẩy và tuân theo quy tắc này:
Column_Name Data_Type[(size_of_data)] [NULL or NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT]
Đây là các giá trị của mỗi định nghĩa cột:
<ul> <li><strong>Column Name</strong>: Describes the attribute being assigned. For instance, our first column is called "equip_id" because it will hold the unique ID number associated with each piece of equipment.</li> <li><strong>Data Type</strong>: Specifies the type of data the column will hold. Can be any of MySQL's data types. For instance, "int" specifies that only integer values will be accepted, while "varchar" is used to hold string values. There are many data types, but these are outside of the scope of this article. <em>Note: Most data types need a size value in parentheses to specify the maximum amount of space needed to hold the values for that field.</em></li> <li><strong>Null</strong>: Defines whether null is a valid value for that field. Can be "null" or "not null".</li> <li><strong>Default Value</strong>: Sets the initial value of all newly created records that do no specify a value. The "default" keyword is followed by the value.</li> <li><strong>auto_increment</strong>: MySQL will handle the sequential numbering internally of any column marked with this option, in order to provide a unique value for each record.</li>
Cuối cùng, trước khi đóng phần khai báo cột, bạn cần chỉ định các cột được sử dụng làm khóa chính bằng cách gõ "PRIMARY KEY (columns_to_be_primary_keys).
Chúng tôi đã sử dụng cột "equip_id" làm khóa chính vì tùy chọn "auto_increment" đảm bảo giá trị là duy nhất, điều này là yêu cầu của một khóa chính.
Chèn dữ liệu vào một bảng MySQL hoặc MariaDB
Để chèn một bản ghi vào bảng, sử dụng cú pháp sau:
INSERT INTO table_name (field1, field2, ...) VALUES (value1, value2, ...);
Mọi giá trị chuỗi phải đặt trong dấu ngoặc kép. Mỗi cột được thiết lập "auto_increment" không cần giá trị, vì cơ sở dữ liệu sẽ cung cấp nó với số tiếp theo theo thứ tự.
Chúng ta có thể thêm một chiếc slide vào bảng thiết bị playground như sau:
INSERT INTO equipment (type, install_date, color, working, location) VALUES ("Slide", Now(), "blue", 1, "Southwest Corner");
Chúng tôi đã sử dụng một hàm đặc biệt được gọi là "Now()" để điền ngày hiện tại vào cột ngày.
Để xem thông tin, truy vấn bảng. Dấu sao (*) là một ký tự đặc biệt đại diện cho tất cả mọi thứ. Truy vấn này chọn tất cả mọi thứ trong bảng thiết bị:
SELECT * FROM equipment;
+----------+-------+--------------+-------+---------+------------------+ | equip_id | type | install_date | color | working | location | +----------+-------+--------------+-------+---------+------------------+ | 1 | Slide | 2013-07-26 | blue | 1 | Southwest Corner | +----------+-------+--------------+-------+---------+------------------+ 1 row in set (0.00 sec)
Thêm một mục khác:
INSERT INTO equipment (type, install_date, color, working, location) VALUES ("Swing", Now(), "green", 1, "Northwest Corner");
Chúng ta có thể thấy rằng dữ liệu mới của chúng ta hiện có trong bảng:
SELECT * FROM equipment;
+----------+-------+--------------+-------+---------+------------------+ | equip_id | type | install_date | color | working | location | +----------+-------+--------------+-------+---------+------------------+ | 1 | Slide | 2013-07-26 | blue | 1 | Southwest Corner | | 2 | Swing | 2013-07-26 | green | 1 | Northwest Corner | +----------+-------+--------------+-------+---------+------------------+ 2 rows in set (0.00 sec)
Xóa bảng trong MySQL và MariaDB
Để xóa một bảng, chúng ta sử dụng cú pháp sau:
DROP TABLE table_name;
Hãy cẩn thận khi sử dụng lệnh này, vì một khi bảng bị xóa, dữ liệu bên trong không thể khôi phục được.
Đầu tiên, hãy xem bảng hiện tại của chúng ta để chúng ta có thể xác định cú pháp của lệnh "show tables" trông như thế nào:
SHOW tables;
+----------------------+ | Tables_in_playground | +----------------------+ | equipment | +----------------------+ 1 row in set (0.00 sec)
Xóa bảng thiết bị:
DROP TABLE equipment;
Và bây giờ, kiểm tra danh sách bảng "playground" một lần nữa:
SHOW tables;
Empty set (0.00 sec)
Chúng ta không còn bảng nào trong cơ sở dữ liệu "playground", vì vậy thao tác đã thành công.
Kết luận
Đây là những kỹ năng cơ bản cần thiết để quản lý và tạo bảng trong MySQL. Việc làm quen với chúng sẽ rất hữu ích khi bạn khám phá các lĩnh vực khác của quản lý cơ sở dữ liệu.
Mọi người cũng tìm kiếm: cách tạo bảng trong mysql, tạo bảng trong mysql, create table mysql ubuntu, mariadb playground, not null là gì, tinyint là gì.
Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:
👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất