创建数据表的基本形式
CREATE TABLE <表名>
(
字段名1,数据类型[列级别约束条件][默认值],
字段名1,数据类型[列级别约束条件][默认值],
......
[表级别约束条件]
);
创建员工表tb_employee1
CREATE DATAVASE aa;
USE aa;
CREATE TABLE tb_employee1
(
id INT(11),
name VACHAR(25),
depid INT(11),
salary FLOAT
);
查看是否创建成功
SHOW TABLES;
主键约束
单字段主键
字段名 数据类型 PRIMARY KETY[默认值]
定义数据库表 tb_employee2
CREATE TABLE tb_employee2
(
id INT(11)PRIMARY KEY,
name VACHAR(25),
depid INT(11),
salary FLOAT
);
或者
[CONSTRAINT<约束名>]PRIMARY KEY[字段名]
CREATE TABLE tb_employee2
(
id INT(11),
name VACHAR(25),
depid INT(11),
salary FLOAT,
PRIMARY KEY(id)
);
多字段联合主键
PRIMARY KEY[字段1,字段2,...字段n]
外键约束
外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的是参照完整性,一个表的外键可以是空值,若不为空值,则每一个外键必须等于另一个表的主键的某个值
[CONSTRAINT<外键名>]FOREIGN KEY 字段名1 [,字段名2, ...]
REFRENCE <主表名>主键列1[,主键列2, ...]
定义一个数据表tb_employee5 并且在该表中创建外键约束
创建俺一个部门表tb_dept1
CREATE TABLE tb_dept1
(
id INT(11)PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);
定义数据表tb_employee5 让它的depid字段作为外键关联到tb_dept1的主键id
CREATE TABLE tb_employee5
(
id INT(11)PRIMARY KEY,
name VARCHAR(25),
deptld INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptld) REFERENCES tb_dept1(id)
);
非空约束
NOT NULL
唯一性约束
UNIQUE
默认约束
DEFAULT
设置数据表的属性值自动增加
CREATER TABLE tb_employee8
(
id INT(11)PRIMARY KEY AUTO_INCREAMENT,
name VARCHAR(25)NOT NULL
);
查看表的结构
查看表的基本结构
DESCRIBE/DESC 表名;
查看表的详细结构
SHOW CREATE TABLE <表名\G>;
修改数据表
修改数据表名
ALTER TABLE<旧表名>RENAME<新表名>;
使用SHOW TABLES查看数据库中的表
修改字段数据类型
ALTER TABLE <表名>MODIFY<字段名><数据类型>;
修改字段名
ALTER TABLE<表名>CHANGE<旧字段名><新字段名><新数据类型>;
添加字段
ALTER TABLE<表名>ADD<新字段名><数据类型>
[约束条件]FIRSTIAFTER已经存在的字段名[];
添加完整性无条件约束的字段
ALTER TABLE tb_dept1 ADD mananger INT(10);
添加有完整性约束条件的字段
ALTER TABLE tb_dept1 ADD column1 VACHAR(12)not null;
在表的第一列添加字段
ALTER TABLE tb_dept1 ADD column2 VACHAR(12) INT(11)FIRST;
在表的最后添加字段
ALTER TABLE tb_dept1 ADD column3 VACHAR(12) INT(11)AFTER name;
删除字段
ALTER TABLE<表名>DROP<字段名>;
修改字段排序
ALTER TABLE <表名>MODIFY<字段1><数据类型><FIRST AFTER<字段2>;
column1移动到第一列
ALTER TABLE tb_dept1 MODIFY column1 INT(12) FIRST;
column2插入到location字段后面
ALTER TABLE tb_dept1 MODIFY column2 INT(12) AFTER location;
更改表的储存引擎
ALTER TABLE<表名>ENGINE=<更改后的存储引擎名>;
删除表的外键约束
ALTER TABLE<表名>DROP FOREIGN KEY<表的外键约束名>;
删除数据表
删除没有被关联的表
DROP TABLE[IF EXISTS] 表1,表2,...表n;
删除被其他表关联的主表
先删除表的外键约束再删除主表
ALTER TABLE<表名>DROP FOREIGN KEY<表的外键约束名>;
DROP TABLE[IF EXISTS] 表1,表2,...表n;