查看数据表有四种方法:
① SHOW COLUMNS FROM tbl_name [FROM db_name];
②SHOW COLUMNS FROM 表名;
③DESC 表名;
④DESCRIBE 表名;
建议用第三种方便记忆
添加表中新字段
ALTER TABLE 表名 add 字段名 数据类型(数据范围);
修改表中新字段
ALTER TABLE tbl_name CHANGE 旧列名 新列名 新数据类型;
--修改crm_pms 表中address字段,改为add字段,查看该表结构
ALTER TABLE crm_pms CHANGE address add varchar(30);
DESC crm_pms;
删除一个字段
ALTER TABLE 表名 DROP 列名;
--删除crm_pms表中的add字段
ALTER TABLE crm_pms DROP add;
DESC crm_pms;
删除数据表
DROP TABLE [IF EXISTS] 表名;
--删除crm_pms表
DROP TABLE crm_pms;
约束
按功能进行划分
主键约束(PRIMARY KEY)
- 不允许表中有重复的记录
- 不允许表中有NULL记录
- 每个表中只能存在一个主键约束
- 创建主键约束后,系统将自动创建主键索引
语法:
#创建数据表时添加表级别的主键约束
CREATE TABLE 表名(
列名1 数据类型(数据范围) PRIMARY KEY,
列名2 数据类型(数据范围) PRIMARY KEY
);
CREATE TABLE 表名(
列名1 数据类型(数据范围),
列名2 数据类型(数据范围),
PRIMARY KEY(列名1,列名2)
);
修改表时侯添加主键约束
ALTER TABLE 表名 ADD PRIMARY KEY(列名1,列名2);
删除主键约束
ALTER TABLE 表名 DROP PRIMARY KEY;
唯一约束(UNIMARY KEY)
- 不允许表中有重复的记录
- 允许表中有NULL记录
- 创建唯一约束后,系统将自动创建唯一索引
语法:
#创建数据表时添加列级别的主键约束,列级别只能一个,表级别可以多个
CREATE TABLE 表名(
列名1 数据类型(数据范围) PRIMARY KEY,
列名2 数据类型(数据范围) UNIQUE KEY,
列名2 数据类型(数据范围) UNIQUE KEY
);
#创建数据表时添加表级别的主键约束
CREATE TABLE 表名(
列名1 数据类型(数据范围),
列名2 数据类型(数据范围),
UNIQUE KEY(列名1,列名2)
);
多列之间是逗号,一行之间是空格
修改表时添加唯一约束
ALTER TABLE 表名 ADD UNIQUE KEY(列名1,列名2);
删除唯一约束
ALTER TABLE 表名 DROP INDEX 约束名称;
查看某张表中全部的索引名称
SHOW KEYS FROM 表名;
外键约束(FOREIGN KEY)
语法:父表/主表:没有外键的表
子表:存在外键的表,被外键所修饰的列的列值,必须参照与主表中主键所在的列的列值
CREATE TABLE 表名1(
列名1 数据类型(数据范围) PRIMARY KEY,
列名2 数据类型(数据范围) UNIQUE KEY,
列名3 数据类型(数据范围) DEFAULT 参数值,
列名3 数据类型(数据范围) NOT NULL
);
CREATE TABLE 表名2(
列名1 数据类型(数据范围) PRIMARY KEY,
列名2 数据类型(数据范围) UNIQUE KEY,
列名3 数据类型(数据范围) DEFAULT 参数值,
列名3 数据类型(数据范围) NOT NULL
FOREIGN KEY(列名2a) REFERENCES 表名1(列表2)
);
- 非空约束(NOT NULL)
语法:用来修饰一列或多列的值,当插入数据的时候,被非空约束修饰的列。该列的值不能为空
CREATE TABLE 表名(
列名1 数据类型(数据范围) PRIMARY KEY,
列名2 数据类型(数据范围) UNIQUE KEY,
列名3 数据类型(数据范围) DEFAULT 参数值,
列名3 数据类型(数据范围) NOT NULL
);
- 默认值约束(DEFAULT)
语法:
CREATE TABLE 表名(
列名1 数据类型(数据范围) PRIMARY KEY,
列名2 数据类型(数据范围) UNIQUE KEY,
列名3 数据类型(数据范围) DEFAULT 参数值
);