Mỗi bảng chỉ có một từ khóa chính, từ khóa chính có tác dụng xác định tính chất duy nhất của mỗi hàng dữ liệu trong bảng, ngoài ra được sử dụng để tạo mối liên hệ 1-n tham chiếu đến các bảng khác
- Tại hàng id, cột Hành động , Nhấp chọn Chính, khi đó sẽ có màn hình confirm xuất hiện, click Ok để xác nhận.
- This is results
Create 1 record data
- Vẫn ở trong bảng tin_xahoi [nếu không thì nhấp vào bảng tin_xahoi ở danh sách bên trái], sau đó click chọn tab Insert.
Trong màn hình chèn bản ghi, điền dữ liệu tương tự như hình bên dưới
- Tôi. không cần điền, dữ liệu sẽ tự động tăng
- Các vị trí khác nhau chỉ quan tâm đến trường Giá trị
- Nhấp vào Go để chèn dữ liệu, nếu tất cả đều đúng sẽ xuất hiện câu thông báo "hàng đã chèn", nếu báo lỗi thì xem .
- Nhấp chọn tab Trình duyệt để xem dữ liệu được chèn.
- Đến đây ta đã hoàn thành việc tạo bảng của cơ sở dữ liệu tintuc , đồng thời cũng chèn một bản ghi vào bảng.
Mỗi bảng thông thường sẽ có một khóa chính nhằm phân biệt dữ liệu giữa các bản ghi trong bảng. Khi làm các trang web ứng dụng và để tối ưu tốc độ truy vấn, thông thường chúng ta sẽ chọn từ khóa chính là kiểu
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;0 và thiết lập tăng tự động, nghĩa là khi bạn thêm một dòng dữ liệu thì không cần phải truyền từ khóa chính đó
Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.
1. Đặc điểm của khóa chính [Khóa chính]
Giả sử chúng ta có bảng
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;1 và mỗi sinh viên là một bản ghi, lúc này để phân biệt giữa các sinh viên thì ta không thể dựa vào tên của sinh viên được vì tên sinh viên có thể trùng lặp với nhau. Chính vì vậy ta chọn giải pháp là ta thêm một trường
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;0 dùng để làm từ khóa chính và giá trị của nó là duy nhất nên có thể phân biệt giữa các sinh viên với nhau
Sau đây là một số đặc điểm của khóa chính trong MySQL nói chung và trong các mô hình CSDL nói riêng
- Giá trị của từ khóa chính là duy nhất cho mỗi bản ghi, nghĩa là không thể tồn tại hai bản ghi trùng khóa chính
- Key key could not allow
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;
1 - Mỗi bảng chỉ tồn tại duy nhất một từ khóa chính, mỗi từ khóa chính có thể có nhiều cột
Bởi vì trong MySQL đang hoạt động với các kiểu số sẽ nhanh hơn kiểu chuỗi nên ta sẽ chọn kiểu
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;2, sau khi chạy mã tạo từ khóa chính thì nó sẽ tạo một mục duy nhất có tên là
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;3và đây chính là mục từ khóa chính
Bài viết này đã được đăng tại [free tuts. mạng lưới]
2. Tạo khóa chính [Primary key] trong MySQL
Thông thường chúng ta có hai cách tạo từ khóa chính đó là tạo luôn trong quá trình tạo bảng [tạo bảng] hoặc là tạo bảng trước rồi tạo từ khóa chính sau. Sau đây là các ví dụ về hai cách này
Create in the create table Tạo bảng
To select field for key ta will set from the key key after the column that,ví dụ
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL PRIMARY KEY, email VARCHAR[70] NOT NULL ] ENGINE = INNODB;
Hoặc ta sẽ sử dụng lệnh
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;4 đặt ở cuối các trường trong lệnh tạo bảng, ví dụ
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;
Chọn nhiều trường làm từ khóa chính
To select many fields doing key then ta use the command CREATE TABLE users [
id INT[10] UNSIGNED NOT NULL,
email VARCHAR[70] NOT NULL,
PRIMARY KEY[id]
] ENGINE = INNODB;
5and set it at the end of the list of the field in the command Tạo bảng, ví dụ.
Sử dụng lệnh thay đổi để tạo khóa chính
Thông thường cách này được sử dụng trong trường hợp ta tạo bảng trước rồi sau đó tạo từ khóa chính sau. Ta sẽ sử dụng cú pháp sau để tạo
ALTER TABLE table_name ADD PRIMARY KEY[primary_key_column];Ví dụ.
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;0
Use CONSTRAINT set name for main key
Cách này khuyến khích sử dụng khi sử dụng lệnh
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;6 chúng ta có thể tạo tên cho từ khóa chính, nhờ đó sau này chúng ta sẽ dễ dàng quản lý hơn. Sau đây là một số ví dụ sử dụng
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;6 để tạo từ khóa chính
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;3
hoặc
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;4
3. Xóa khóa chính [Drop Primary Key]
To delete the main key, they we use the command
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;8 connect with
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;9,ví dụ
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id] ] ENGINE = INNODB;7
4. Lời kết
Chúng ta chỉ sử dụng hai cách trên để tạo từ khóa chính trong MySQL thôi, và không chỉ có ở MySQL mà ở SQL Server cũng có cú pháp tương tự vì chúng để sử dụng ngôn ngữ
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id, email] ] ENGINE = INNODB;0. Bài tiếp theo chúng ta sẽ tìm hiểu một loại chỉ mục cũng tương tự như từ khóa chính đó là
CREATE TABLE users [ id INT[10] UNSIGNED NOT NULL, email VARCHAR[70] NOT NULL, PRIMARY KEY[id, email] ] ENGINE = INNODB;1