当我们删除了外键约束后,可以发现向子表插入父表中没有的数据可以顺利插入
删除外键约束;
Alter table 表名 drop foreign key 外键名
mysql> alter table aaa drop foreign key c_s;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> insert into aaa values('2','2','2');
Query OK, 1 row affected (0.00 sec)
向子表中插入父表没有的数据(可以正常添加)
删除数据;
Delete from 表名 where *=*;
添加外键;
Alter table 表名 add constraint 外键名称 foreign key (外键字段) references 父表 (父表字段)
里面东西必须相对应(符合外键需求)
自增约束;
(auto_increment)自增字段会按照顺序写入数据(只能设置到拥有主键约束的字段)
mysql> create table qqqq (id int primary key auto_increment,name char(10),age int)auto_increment=5; #从5开始自增(设置自增长起始数)
Query OK, 0 rows affected (0.00 sec)
在里面插入数据;
mysql> insert into qqqq(name,age) values('qwe','30');
Query OK, 1 row affected (0.01 sec)
mysql> insert into qqqq(name,age) values('qwe','30');
Query OK, 1 row affected (0.01 sec)
mysql> insert into qqqq(name,age) values('qwe','30');
Query OK, 1 row affected (0.00 sec)
mysql> insert into qqqq(name,age) values('qwe','30');
Query OK, 1 row affected (0.00 sec)
mysql> insert into qqqq(name,age) values('qwe','30');
Query OK, 1 row affected (0.00 sec)
mysql> insert into qqqq(name,age) values('qwe','30');
Query OK, 1 row affected (0.00 sec)
删除自增约束;
Alter table 表名 modify column 字段名 数据类型 first;
删除自增约束后,当我们再次插入数据时,会返回报错信息
mysql> insert into qqqq(name,age) values('qwe','30');
ERROR 1364 (HY000):Field 'id'doesn't have a default value
查看表结构
mysql> show create table qqqq\G;
修改表名称;
Alter table 原名称 rename 新名称;
修改字段的数据类型;
Alter table 表名 modify 字段名 数据类型
添加新字段;
Alter table 表名 add column 新字段名称 数据类型 [完整性约束条件] [first 或after 已经存在的字段]
【】为可选项 first为在首列添加新字段。
修改字段的排列位置;
Alter table 表名 modify 字段名 数据类型 first | after 字段2
First 将指定字段移动到表的第一列
After 将指定字段移动到指定字段的后面
修改表的存储引擎;
Alter table 表名 engine=引擎名称;
运算符
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 求余运算
比较运算符
= 等于
<=> 安全的等于
>= 大于等于
<= 小于等于
> 小于
< 大于
!= 不等于
<> 不等于
is null 判断值是否为空
Is not null 判断值是否不为空
Least 当有两个后者或多个参数时,返回最小值
Greatest 当拥有两个或者多个参数时,返回最大值
isnull 与is null作用一致
In 判断一个值是否是in列表中的任意一个值
Between and 判断一个值是否在两个值中间
Not in 判断一个值是否不在in列表中
Like 通配符
Regexp 正则表达式匹配
等于运算符(=)用来判断字符串,数字和表达式是否相等,如果相等返回值为1,否则返回值为0,如果有空值(null),则返回值为null
<=> 安全的等于运算符,和等于运算符作用相同,但是它可以判断空值
不等于运算符<> != 用于判断数字,字符串,表达式是否不相等,如果不相等返回值为1,否则返回值为0,不能判断null值
空值判断 is null isnull,is not null
检测值是否为空,为空的话返回1,不为空返回0
Between and 判断一个值是否在两个值中间,如果在两个值中间,返回1,不在的话返回0