Chèn vào bàn làm việc mysql
Vượt qua 10 bài vừa rồi quả là hơi căng nhỉ? . Tuy nói là đơn giản nhưng nó cũng có nhiều vấn đề mà các bạn cần lưu ý khi sử dụng và tôi sẽ giải thích cho các bạn lưu ý đó Show 1. Lệnh INSERT trong MySQLTrước khi vào tìm hiểu lệnh INSERT, ta cần tạo cơ sở dữ liệu, tạo bảng rồi nhé. Giả sử tôi tạo cơ sở dữ liệu tên INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')0 và bảng INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')1 như sau CREATE DATABASE IF NOT EXISTS qlsv; USE qlsv; CREATE TABLE IF NOT EXISTS sinhvien( sv_id INT(11) NOT NULL AUTO_INCREMENT, sv_name VARCHAR(255) NOT NULL, sv_description VARCHAR(500), CONSTRAINT pk_sinhvien PRIMARY KEY(sv_id) ) ENGINE = InnoDB Hình minh họa Bài viết này đã được đăng tại [free tuts. bọc lưới] Thực ra thì INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')2 hay INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')3 đều có cú pháp giống nhau bởi chúng đều là ngôn ngữ truy vấn INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')4. Sau đây là một số cú pháp mà ta có thẻ sử dụng cho cơ sở dữ liệu INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')0 Cú pháp 1. Khai báo tên cộtINSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn') Khi sử dụng cú pháp này, các trường ở vị trí nào sẽ tương ứng với vị trí của nó ở INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')6, và ở phần khai báo có nhiều cột thì ở phần giá trị sẽ có nhiều giá trị tương ứng Ví dụ ________số 8 Vì INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')7 là PRIMARY KEY và tăng tự động (AUTO_INCREMENT) nên tôi không cần truyền dữ liệu cho nó Cú pháp 2. Không khai báo tên cộtINSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')0 Trong trường hợp này, bạn buộc phải truyền cho tất cả các cột, ví dụ bạn có 10 cột thì bạn phải truyền cho cả 20, nếu không sẽ báo lỗi ngay Ví dụ INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')1 Các bạn thấy tuy là từ khóa chính và tăng tự động nhưng vẫn phải truyền giá trị cho nó, điều này khác hoàn toàn với cách trên 2. Chèn có khóa ngoại (Khóa chính)Bây giờ bạn đã xóa cơ sở dữ liệu mà ta demo ở trên để làm lại cơ sở dữ liệu khác. Giả sử ta có bảng SINHVIEN và bảng LOP, trong đó SINHVIEN sẽ là con của bảng LOP. Vây ta cần tạo hai bảng này và thêm từ khóa chính INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')8 như sau INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')3 Hình minh họa Trong trường hợp INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')0 vào bảng có khóa ngoại thì bạn cần lưu ý những đặc điểm sau (lấy sơ đồ về làm ví dụ)
Áp dụng hai lưu ý trên thì vấn đề bổ sung dữ liệu quá đơn giản Ví dụ. Add data table INSERT INTO sinhvien(sv_name, sv_description) VALUES ('Nguyen van cuong', 'Sinh vien dai hoc');0 after that add data for table INSERT INTO sinhvien(sv_name, sv_description) VALUES ('Nguyen van cuong', 'Sinh vien dai hoc');1 CREATE DATABASE IF NOT EXISTS qlsv; USE qlsv; CREATE TABLE IF NOT EXISTS sinhvien( sv_id INT(11) NOT NULL AUTO_INCREMENT, sv_name VARCHAR(255) NOT NULL, sv_description VARCHAR(500), CONSTRAINT pk_sinhvien PRIMARY KEY(sv_id) ) ENGINE = InnoDB1 Sau khi INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')0 hoàn thành thì bảng INSERT INTO sinhvien(sv_name, sv_description) VALUES ('Nguyen van cuong', 'Sinh vien dai hoc');0 sẽ có hai bản ghi như sau Được rồi, INSERT INTO sinhvien(sv_name, sv_description) VALUES ('Nguyen van cuong', 'Sinh vien dai hoc');3 đã được thiết lập tăng tự động. Giờ ta sẽ viết code thêm bảng INSERT INTO sinhvien(sv_name, sv_description) VALUES ('Nguyen van cuong', 'Sinh vien dai hoc');1 nhé CREATE DATABASE IF NOT EXISTS qlsv; USE qlsv; CREATE TABLE IF NOT EXISTS sinhvien( sv_id INT(11) NOT NULL AUTO_INCREMENT, sv_name VARCHAR(255) NOT NULL, sv_description VARCHAR(500), CONSTRAINT pk_sinhvien PRIMARY KEY(sv_id) ) ENGINE = InnoDB5 Run this query question, add to public. Nhưng giờ giả sử bạn đổi giá trị của lop_id sang số 4 thử xem? 3. A number of other problemsBây giờ ta đang tìm hiểu một số vấn đề khác hơi râu ria một chút như sau
Ví dụ CREATE DATABASE IF NOT EXISTS qlsv; USE qlsv; CREATE TABLE IF NOT EXISTS sinhvien( sv_id INT(11) NOT NULL AUTO_INCREMENT, sv_name VARCHAR(255) NOT NULL, sv_description VARCHAR(500), CONSTRAINT pk_sinhvien PRIMARY KEY(sv_id) ) ENGINE = InnoDB8 4. Lời kếtHèn chi, ở trên mình nói bài này khá đơn giản nhưng đọc vào hơi điên đầu phải không nào. D, các bạn bị lừa đảo rồi đấy nhé. Nếu cảm thấy tức tối khi bị lừa thì hãy chờ bài tiếp theo chúng ta sẽ tìm hiểu một lệnh khác cũng khá đơn giản để bù đắp sai lầm của mình đó là lệnh INSERT INTO table_name(field1, field2, field2, ..., fieldn) VALUES('field1', 'field2', 'field3', ...,'fieldn')03. Chúc bạn học tốt |