对MySQL数据库的增删改以及约束
严格的语法中,数据库名和字段名需要使用反单引号括起来
例如: `depeName` (这里有点懒,就没有添加)
对结构的增删改(create、drop、alter)
对数据库结构进行增删改
1. 创建数据库(增)
create database 数据库名;
2. 显示当前所有的数据库
show databases;
3. 删除数据库(删)
drop database 数据库名;
drop database if exists 数据库名; —>先判断数据库是否存在,若存在则删除
对表结构进行增删改
1. 创建表(增)
create table 表名(
<字段名1> <数据类型> [列级别约束条件] [默认值],
<字段名2> <数据类型> [列级别约束条件] [默认值],
<字段名3> <数据类型> [列级别约束条件] [默认值],
…
)
–注意:<>:必须要有 [ ]:可有可无
–最后一个字符后面不要逗号
–[ ] 部分如果没有设置,则mysql会使用默认的设置
2. 删除表(删)
drop table 表名;
3. 向表中添加列(增)
alter table 表名 add 字段名 数据类型;
4. 修改表名(改)
alter table 表名 rename to 新表名;
rename table 旧表名 to 新表名;
5. 修改列名称(改)
alter table 表名 change 旧名称 新名称 数据类型;(可以添加约束)
6. 删除列(删)
alter table 表名 drop 列名;
7.显示表结构
show columns from 表名;
8.清空表中内容,但表还存在
delete from 表名;
对数据进行增删改(insert、delete、update)
1. 添加数据
向所有列添加值
insert into 表名 values(对应类型的数据,…,…);
向指定列插入值
insert into emp(ename,sal) values(…,…);
2. 修改数据
update 表名 set 列名1=新值1,列名2=新值2…where 条件;
3. 删除数据
delete from 表名称 where 条件;
约束
创建表时,要确保数据的完整性,约束是保证数据完整性的重要技术手段
通过约束,对数据库操作行为进行限定注意:
[列级别约束] 位于列声明的末尾,[表级别约束]位于表声明的末尾
1、非空约束
非空约束时一个列级别的约束,它要求所限定的列(字段)不允许插入空值。
create table 表名(
字段名 数据类型 not null,
…
);
2、唯一性约束
唯一性约束:是一个列级别约束,设定的列不允许插入重复的值
create table 表名(
字段名 数据类型 unique,
…
);
3、默认值(default)约束
默认值约束:是一个列级别约束
所限定的列,当没有插入值的时候,会插入这个默认值
create table 表名(
字段名 数据类型 default 值,
…
);
4、主键约束
主键约束:是一个表级别的约束,它等价于 非空 + 唯一约束。
它要求所限定的列,非空且唯一
- 添加主键约束
create table 表名(
字段名 数据类型 primary key,
…
); - 删除主键约束
alter table 表名 drop primary key;
5、外键约束
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。
1. 添加外键
创表时添加:
create table 从表名(
字段名 数据类型 primary key auto_increment,
字段名 数据类型 not null,
字段名 数据类型,
constraint fk_emp_dept(外键名称) foreign key(deptId
) references 主表(deptId
)
);
单独添加
alter table 从表名 add constraint fk_e_d(自定义外键名) foreign key(deptId) references dept(deptId);
2.删除外键
alter table 从表名 drop foreign key fk_emp_dept(自定义的外键名);