创建数据表
创建数据表
mysql> CREATE TABLE tb_emp1
-> (
-> id INT(11),
-> name VARCHAR(26),
-> deptid INT(11),
-> salary FLOAT
-> );
使用主键约束
定义: 主键约束要求主键列的数据唯一,并且不能为空。
单字段主键
1. 在定义列的同时指定主键
mysql> CREATE TABLE tb_emp2
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25),
-> deptid INT(11),
-> salary FLOAT
-> );
2. 在定义完所有列后指定主键
mysql> CREATE TABLE tb_emp3
-> (
-> id INT(11),
-> name VARCHAR(25),
-> deptid INT(11),
-> salary FLOAT,
-> PRIMARY KEY(id)
-> );
多字段联合主键
mysql> CREATE TABLE tb_emp4
-> (
-> name VARCHAR(25),
-> deptid INT(11),
-> salary FLOAT,
-> PRIMARY KEY(name,deptid)
-> );
使用外键约束
定义: 外键是表中的一个字段,它可以不是本表中的主键,但对应另外一个表的主键。外键的作用是保证数据引用的完整性。定义外键后,不允许删除在另外一个表中具有关联关系的行。
1. 定义主表,使用主键约束
mysql> CREATE TABLE tb_dept1
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(22) NOT NULL,
-> localtion VARCHAR(50)
-> );
2. 定义从表,使用外键约束
mysql> CREATE TABLE tb_emp5
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25),
-> deptid INT(11),
-> salary FLOAT,
-> CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptid) REFERENCES tb_dept1(id)
-> );
使用非空约束
定义: 非空约束是指字段的值不能为空。
使用非空约束创建表
mysql> CREATE TABLE tb_emp6
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25) NOT NULL,
-> deptid INT(11),
-> salary FLOAT
-> );
使用唯一性约束
定义: 唯一性约束要求该列的值不能重复,允许有空值,但只能出现一个空值。
1. 在定义列的同时指定唯一约束
mysql> CREATE TABLE tb_dept2
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25) UNIQUE,
-> location VARCHAR(50)
-> );
2. 在定义完所有列后指定唯一约束
mysql> CREATE TABLE tb_dept3
-> (
-> id INT(11),
-> name VARCHAR(25),
-> location VARCHAR(25),
-> PRIMARY KEY(id),
-> CONSTRAINT STH UNIQUE(name)
-> );
使用默认约束
定义: 默认约束是指定某列的默认值,若插入一条记录时没有为这个字段赋值,则这个字段使用默认值。
使用默认约束创建表
mysql> CREATE TABLE tb_emp7
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25),
-> deptid INT(11) DEFAULT 0001,
-> salary FLOAT
-> );
设置表的属性值自动增加
定义: 当表每新增一条数据时,设置为自动增加的字段都会自动增加相应的值,默认加1。
创建自增长的表
mysql> CREATE TABLE tb_emp8
-> (
-> id INT(11) PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(25) NOT NULL,
-> deptid INT(11),
-> salary FLOAT
-> );