文章目录
1. 建表
我们先创建一个表,方便后续操作
USE test2;
DROP TABLE IF EXISTS test01;
CREATE TABLE test01(
id INT PRIMARY KEY AUTO_INCREMENT,
num INT,
username CHAR(8)
)ENGINE=INNODB CHARACTER SET=UTF8; -- 可在此设置 AUTO_INCREMENT=指定值
2. 数据库下表的查用操作
2.1 查看表结构、删除表等
-- 查看当前数据库下的数据表
SHOW TABLES;
-- 查看某数据库下的数据表
SHOW TABLES FROM test2;
SHOW TABLES IN test2;
-- 查看指定数据表详细信息
SHOW CREATE TABLE test01;
-- 查看表结构
DESC test01;
SHOW COLUMNS FROM test01;
-- 删除数据表
DROP TABLE IF EXISTS test01;
2.2 表的重命名
-- 修改表名(TO 和 AS 是一样的)
ALTER TABLE test01
RENAME TO test001;
SHOW TABLES;
ALTER TABLE test001
RENAME TO test01;
SHOW TABLES;
3. 表的字段操作
3.1 添加和删除字段
-- 添加字段,添加到num字段之后(AFTER),注意,虽然有after,但是没有before
ALTER TABLE test01
ADD tel CHAR(11) NOT NULL AFTER num;
-- 添加字段到首位(FIRST)
ALTER TABLE test01
ADD tel CHAR(11) NOT NULL FIRST;
-- 删除字段
ALTER TABLE test01
DROP tel;
-- 添加和删除多个字段
ALTER TABLE test01
ADD t1 CHAR,
ADD t2 CHAR,
DROP tel;
DESC test01;
3.2 添加和删除默认值
-- 添加和删除默认值
ALTER TABLE test01
ALTER t1 SET DEFAULT '1';
DESC test01;
ALTER TABLE test01
ALTER t1 DROP DEFAULT;
DESC test01;
3.3 修改字段属性、长度、和名称
-- 修改字段的属性和长度(MODIFY)
ALTER TABLE test01
MODIFY t1 CHAR(2) NOT NULL;
-- 又能修改属性、长度,还能修改名称的(CHANGE)
ALTER TABLE test01
CHANGE t2 t2new CHAR(2) NOT NULL;
4. 索引操作
4.1 删除和添加主键
-- 删除主键(有autoincrement的话性需要先去掉)
ALTER TABLE test01
MODIFY id INT(11) NOT NULL,
DROP PRIMARY KEY;
-- 添加主键
ALTER TABLE test01
ADD PRIMARY KEY(id);
4.2 添加和删除唯一索引
-- 添加唯一索引
ALTER TABLE test01
ADD UNIQUE KEY(t1),
ADD UNIQUE INDEX uni_t2new(t2new); -- 给索引取别名
SHOW CREATE TABLE test01; -- 查看结果
-- CREATE TABLE `test01` (
-- `id` int(11) NOT NULL,
-- `num` int(11) DEFAULT NULL,
-- `username` char(8) DEFAULT NULL,
-- `t1` char(2) NOT NULL,
-- `t2new` char(2) NOT NULL,
-- PRIMARY KEY (`id`),
-- UNIQUE KEY `t1` (`t1`),
-- UNIQUE KEY `uni_t2new` (`t2new`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
-- 删除唯一索引
ALTER TABLE test01
DROP INDEX t1;