SQL主键
时间:2020-02-23 14:32:31 来源:igfitidea点击:
在充满数据的世界中,获取重复数据非常容易。
任何数据库表设计人员的噩梦都是创建一个可能重复插入数据的表。
为了克服重复行的问题,SQL主键用于唯一地标识每一行。
SQL主键
主键是可以唯一标识一行的一列或者一组列。
创建表时,应指定主键。
同样,主键创建带有下面提到的一组规则。
主键不能为空。
主键必须始终包含唯一值。
如果是多个列的组合,则该组合必须是唯一的。一个表只能有一个主键。
现在让我们尝试了解以下提到的数据库的主键创建。
- 的MySQL
- PostgreSQL的
- SQL服务器
MySQL主键
语法:
CREATE TABLE <table_name>(<column_name1> <data_type> NOT NULL, <column_name2> <data_type> NOT NULL, <column_name3> <data_type> NOT NULL, PRIMARY KEY (column_name1));
在上面的语法中,PRIMARY KEY关键字用于指定该列将用作表的主键。
让我们创建一个客户表来更好地理解这一点。
CREATE TABLE customer (cust_id varchar(8) NOT NULL UNIQUE, cust_name varchar(50) NOT NULL, state varchar(25), country varchar(25), PRIMARY KEY (cust_id) );
在MySQL工作台上执行以上查询。
"唯一"列的值为" YES",表示该列将接受唯一值。
另外,键列的行值为" PRIMARY",而列的行值指定为主键的列。
PostgreSQL主键
语法:
CREATE TABLE <table_name>(<column_name1> <data_type> NOT NULL, <column_name2> <data_type> NOT NULL, <column_name3> <data_type> NOT NULL, PRIMARY KEY (column_name(n)));
在上面的语法中,PRIMARY KEY关键字用于指定将某个列或者一组列用作表的主键。
让我们创建一个Employee表以更好地理解这一点。
CREATE TABLE Employee( employee_no integer PRIMARY KEY, employee_name character(50), employee_city character(35), employee_phn numeric);
在上表中,我们仅使用一列" employee_no"创建主键。
以下是用于创建具有多列的表的查询。
CREATE TABLE Employee( employee_no integer, employee_name character(50), employee_city character(35), employee_phn numeric,PRIMARY KEY (employee_no,employee_phn));
在上表中,我们使用两列" employee_no和employee_phn"创建主键。
SQL Server主键
语法:
CREATE TABLE <table_name>(<column_name1> <data_type> NOT NULL, <column_name2> <data_type> NOT NULL, <column_name3> <data_type> NOT NULL, PRIMARY KEY (column_name(n)));
在上面的语法中,PRIMARY KEY关键字用于指定将某个列或者一组列用作表的主键。
让我们创建一个Employee表以更好地理解这一点。
CREATE TABLE Employee( employee_no integer PRIMARY KEY, employee_name character(50), employee_city character(35), employee_phn numeric);