今天学习使用DDL语句修改表结构的相关操作
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MySQL入门
编码环境:OS X 10.10.1 | MySQL5.5.38 | mac终端
首先,创建一个user表:
CREATE TABLE IF NOT EXISTS user(
id tinyint primary key,
name VARCHAR(10) UNIQUE KEY NOT NULL,
password CHAR(10)NOT NULL
);
可以通过DESC user;查看表结构:
选中表:ALTER TABLE tb_name;
1、 添加指定字段ADD
ALTER TABLE tb_name
ADD 字段名称 字段类型 字段约束;
--添加age到第一个字段
ALTER TABLE user
ADD age tinyint UNSIGNED FIRST;
插入成功:
--添加sex字段到name字段后面
ALTER TABLE user
ADD sex enum('男','女') DEFAULT '男' AFTER name;
--一次添加多个字段
ALTER TABLE user
ADD email VARCHAR(30) UNIQUE KEY,
ADD address VARCHAR(100),
ADD salary FLOAT(6,2);
2、 删除指定字段DROP
ALTER TABLE tb_name DROP 字段名称;
--删除address字段
ALTER TABLE user
DROP address;
--一次删除多个字段
ALTER TABLE user
DROP email,
DROP salary;
3、 修改字段类型MODIFY
ALTER TABLE tb_name MODIFY 字段名称 字段类型 约束;
--把id的类型改成int,name的类型改成char(20)
ALTER TABLE user
MODIFY id int ,
MODIFY name char(20) UNIQUE KEY NOT NULL;
4、 修改字段名称CHANGE
ALTER TABLE tb_name 原字段名称 新字段名称 字段类型 约束;
--把name改成username
ALTER TABLE user
CHANGE name username char(20) UNIQUE KEY NOT NULL;
5、 添加默认值
ALTER TABLE tb_name ALTER 字段名称 SET DEFAULT '值';
--给age添加默认值18
ALTER TABLE user
ALTER age SET DEFAULT 18;
6、 删除默认值DROP DEFAULT
ALTER TABLE tb_name ALTER 字段名称 DROP DEFAULT;
--给age删除默认值
ALTER TABLE user ALTER age DROP DEFAULT;
7、 添加主键ADD PRIMARY KEY
ALTER TABLE tb_name ADD PRIMARY KEY(字段名称);
--把username设置为主键(要先删除id的主键)
ALTER TABLE user
ADD PRIMARY KEY(username);
8、 删除主键DROP PRIMARY KEY;
ALTER TABLE user
DROP PRIMARY KEY;
9、 添加唯一约束ADD UNIQUE KEY(字段名称)
--给username添加唯一约束
ALTER TABLE user
ADD UNIQUE KEY(username);
查看结果:SHOW CREATE TABLE user;
10、 删除唯一约束 DROP INDEX|KEY index_name;
ALTER TABLE tb_name DROP INDEX|KEY index_name;
--删除username的唯一约束
ALTER TABLE user DROP INDEX username;
11、 修改表名
ALTER TABLE tb_name RENAME [TO|AS] new_tb_name;
--把user表改名为teacher
ALTER TABLE user RENAME TO teacher;
12、 设置自增长AUTO_INCREMENT
ALTER TABLE tb_name AUTO_INCREMENT=值;
--给id字段添加自增长约束,从100起
ALTER TABLE user AUTO_INCREMENT=100;
可以在创建表时同时指定存储引擎、自增长初始值和编码方式:
CREATE TABLE IF NOT EXISTS user (
字段名称 字段类型 字段约束,
...
)ENGINE=存储引擎名称 AUTO_INCREMENT=值 CHARSET='字符集' ;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
END:列举了常用的DDL语句修改表结构,下一篇关于DML语句操作数据。