wangwt123

MySQL(四)-补充

1、内查询:2种表示方法

以testdev数据库的goods表和shop表为例:

查询出goods表的name和shop表的name、level:

第1种方法:

第2种方法:

2、创建表:if not exists

create table if not exists [表名] (列名 类型)

🎨如果,创建表的表名已经存在,那么该条命令不会覆盖之前已经存在的表名,而且也不会报错。

🎨如果,创建表的表名不存在,那么就会创建一个新的表。

3、列的约束

3-1、auto_increment:自增

此时在插入的时候,可以不设置id,其中,即使在插入之前删除前10位的数据,按照自增长的方式,仍然会从11位开始。

3-2、primary key:主键

3-3、not null:不为空

上图操作,第一个错误,由于name设置的字段长度为10,插入超过10,必然报错!

上图操作,第二个错误,由于address设置不能为空,插入数据时,address为空,必然会报错!

当然关键字段:Primary key必然不可能为空。

3-4、unique:唯一性,插入的字段不能有任何的一样。

3-5、default:默认

此时,设置某一字段不能为空,通过设置default默认值,在插入的时候,可以允许为空!

4、一个表里多个字段设置多个主键的操作:

5、MySQl的时间类型

DATETIME:YYYY-MM-DD HH:MM:SS 最大值到9999
TIMESTAMP:YYYY-MM-DD HH:MM:SS 最大值到2038年
DATE:YYYY-MM-DD
TIME:HH:MM:SS
YEAR:YYYY

DATETIME的使用:

alter table A add birthday datatime default "2022-08-12 12:00:00";
select * from user where birthday between "1990-09-09 00:00:00" and "1999-03-28 23:59:59";

6、MySQL小数点:

FLOAT:单精度
DOUBLE:双精度
DECIMAL (M, D):M是数字的最大位数(精度),其范围为“165”,默认值是10;D是小数点右侧数字的数目(标度),其范围是“030”,但不得超过M。

salary decimal(7,2):指的是salary的值,最多是7位(包含小数点的位数),不论写的薪资是多少,只要没有超过7位,都可以,但是,都只会保留小数点后2位。

 

posted on 2022-08-29 18:10  DOUBLE快乐  阅读(43)  评论(0编辑  收藏  举报

导航