您的位置:首页 > 数据库 > MySQL

MySQL 学习笔记(2)2016-04-04

2016-04-04 09:31 507 查看
2016-04-04

MySQL基础学习(2)

首先创建一个,因为之后的操作都需要一个表格。

CREATE TABLE tb1(
name VARCHAR(20),
age TINYINT UNSIGNED NOT NULL,
salary float(8,2) UNSIGNED
);




创建出如下的表格

1. 添加列

ALTER TABLE tb1 ADD sex ENUM('1', '2', '3') NOT NULL DEFAULT '3' AFTER age;


该命令表示在age之后增加一行性别,默认为3,非空的一列,效果如下。

2. 删除列

删除列的命令比较简单,

ALTER TABLE tb1 DROP sex;


3. 添加主键约束
有的时候,我们最开始创建表格的时候忘了设置主键,在这种情况下我们可以在之后添加主键。
我们先添加一列id,之后将其设为主键。

ALTER TABLE tb1 ADD id SMALLINT NOT NULL FIRST;
ALTER TABLE tb1 ADD PRIMARY KEY (id);
通过这两行代码,我们成功插入id并将其设置为主键。

4. 添加唯一约束

由于主键每个表格只能拥有一个,但是有的时候需要检验唯一性。我们确认不会有重复的人名。

ALTER TABLE tb1 ADD UNIQUE (name);


5. 添加/删除默认约束

有的时候,我们需要在已经设定的情况下再次修改列的默认约束。

比如,我们设定默认工资为5000元。

ALTER TABLE tb1 ALTER salary SET DEFAULT 5000;


如果需要启用默认值,则需要在对应列输入 DEFAULT。

比如,

INSERT tb1 VALUES(1, 'Jason', 20, 3, DEFAULT);


6. 删除列约束

1)主键约束

ALTER TABLE tb1 DROP PRIMARY KEY;
2)唯一约束

ALTER TABLE tb1 DROP INDEX name;
3)外键约束

ALTER TABLE tb1 DROP FOREIGN KEY pid;


7. 修改列定义

比如,当我们需要把原来的id上加入自动增加,我们就需要

ALTER TABLE tb1 MODIFY id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;


你会发现如果在上面加入PRIMARY KEY字段就会报错,因为修改列定义时并不会撤销PRIMARY KEY

8. 修改名称

1)列名称

比如说,我们把表格中sex换成gender:

ALTER TABLE tb1 CHANGE sex gender ENUM('1','2','3') NOT NULL DEFAULT 3;
此时要注意,如果只填写两个名字 sex和gender则会报错。

2)数据表

ALTER TABLE tb1 RENAME table1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: