Mysql cơ bản trên Ubuntu (Phần II)
Link video hướng dẫn video Sau khi chọn cơ sở dữ liệu (database) để thao tác: use database_name ; Cấu trúc: CREATE TABLE IF NOT EXISTS table_name ( < column_name > < data_type > DEFAULT < default_value > [ column constraints ] , . . ...
Link video hướng dẫn video
Sau khi chọn cơ sở dữ liệu (database) để thao tác:
use database_name;
Cấu trúc:
CREATE TABLE IF NOT EXISTS table_name( <column_name> <data_type> DEFAULT <default_value> [column constraints], ... <column_name> <data_type> DEFAULT <default_value> [column constraints], <table constraint>, ... <table constraint> ) type = table_type;
Phân tích cấu trúc:
IF NOT EXISTS => Đoạn này là điều kiện chỉ tạo bảng khi chưa có bảng nào trong cơ sở dữ liệu có tên như vậy (tránh trùng). table_name => Tên của bảng. column_name => Tên của cột. data_type => Kiểu dữ liệu của cột. Ví dụ: INT, VARCHAR,... default_value => giá trị mặc định được gán khi khởi tạo hàng mà không có giá trị nào được gán. column constraints => Ràng buộc mức cột. Ví dụ: NOT NULL, PRIMARY KEY, FOREIGN KEY, UNIQUE, AUTO_INCREMENT,... table constraint => Ràng buộc mức bảng, nó tạo ra ràng buộc cho nhiều cột. Ví dụ: (Cũng như cột trừ NOT NULL). table_type => Xác định kiểu bảng dữ liệu khi lưu trữ, để nhắm cho những mục đích lưu trữ khác nhau. Ví dụ: MyISAM, InnoDB, BerkeleyDB, (BDB), MERGE, HEAP...
Ví dụ 1:
CREATE TABLE IF NOT EXISTS demo_table_1( follower INT(11) NOT NULL PRIMARY KEY, following INT(11) ) ENGINE=InnoDB DEFAULT charset=utf8;
Phân tích ví dụ:
demo_table_1 => Là tên của bảng. follower, following => Là tên của các cột. INT => Kiểu dữ liệu số nguyên (4 bytes) NOT NULL => Là ràng buộc giá trị (value) của cột không được NULL. PRIMARY KEY => Là ràng buộc khóa chính. InnoDB => Kiểu lưu trữ hỗ trợ giao dịch an toàn, hỗ trợ khóa ngoài.
Ví dụ 2:
CREATE TABLE IF NOT EXISTS demo_table( number INT(11), name VARCHAR(50) NOT NULL, rate INT(11) DEFAULT 0, secret VARCHAR(50), follower INT(11) AUTO_INCREMENT, test VARCHAR(50), PRIMARY KEY (number), UNIQUE (test,secret), CONSTRAINT fk_follower FOREIGN KEY (follower) REFERENCES demo_table_1 (follower) ON DELETE RESTRICT ON UPDATE CASCADE )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Phân tích ví dụ: (Phân tích thêm một số thứ chưa có ở ví dụ trên)
VARCHAR => Kiểu dữ liệu chuổi ký tự. AUTO_INCREMENT => Ràng buộc tự động tăng giá trị so với giá trị có hàng có trước trong bảng. UNIQUE => Ràng buộc giá trị mỗi hàng là duy nhất không trùng nhau. CONSTRAINT fk_follower => Đặt tên cho ràng buộc phía trước nó là: fk_follower. Giúp cho việc thông báo lỗi liên quan đến các ràng buộc, hay khi thao tác với các ràng buộc. FOREIGN KEY => Ràng buộc khóa ngoài. REFERENCES demo_table_1 (follower) => Tạo một số ràng buộc liên quan đến khóa ngoài tại cột follower của bảng demo_table_1. ON DELETE RESTRICT => Không cho xóa hàng khi còn có tham chiếu tới. ON UPDATE CASCADE => Khi dữ liệu bảng được tham chiếu thay đổi sẽ tự động cập nhật dữ liệu cho bảng tham chiếu tới. Ở Ví dụ này là khi thay đổi follower tại bảng demo_table_1 thì follower trên bảng demo_table sẽ được cập nhật.
Để hiển thị thông tin về bảng:
DESCRIBE table_name;
Ví dụ:
DESCRIBE demo_table_1;
Kết quả:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
follower | int(11) | NO | PRI | NULL | |
following | int(11) | YES | NULL |
Cấu trúc
insert into `table_name` (`colunm_1`, `colunm_2`, ..., `colunm_n` ) values (<value_11>, <value_12>, ..., <value_1n>), (<value_21>, <value_22>, ..., <value_2n>), ... (<value_n1>, <value_n2>, ..., <value_nn>);
Ví dụ:
insert into `demo_table_1` (`follower`, `following` ) values (11, 12), (55, 32);
Kết quả:
follower | following |
---|---|
11 | 12 |
55 | 32 |
Cấu trúc:
DELETE FROM table_name WHERE <condition>
Ví dụ:
DELETE FROM demo_table_1 WHERE follower = 11;
Cấu trúc:
UPDATE table_name SET colunm_name = <value> WHERE <condition>;
Ví dụ:
UPDATE demo_table_1 SET follower = 96 WHERE following = 32 ;
DROP TABLE IF EXISTS demo_table;
Video:
Cảm ơn mọi người đã đọc bài viết. Nếu có bất kỳ ý kiến hay góp ý gì hãy để lại bình luận ở dưới.