mysql数据库sysdate_MySql数据库知识点复习

文章目录

1. MySql数据类型

1.1 数值类型

1.2 字符串类型

1.3 日期类型

2.表记录的操作

2.1 字段约束

2.2 drop、delete、truncate之间的区别?

3. MySql常见的函数

4. 外键和表关系

4.1 外键介绍

4.2 添加外键

4.3 表关系

4.4 关联查询、外连接查询

1. MySql数据类型

1.1 数值类型

MySql中有很多数值类型,常用的数值类型有:

int 对应Java中的int类型, 占用4个字节

double 对应Java中的double类型, 占用8个字节

1.2 字符串类型

Mysql中包含char和varchar两种字符串类型:

char(n) –- 定长字符串

其中n的范围: 0~255 /个字符

name char(10)

如果存储的数据长度小于定义的最大长度, 剩余的空间会用空格补全, 因此char类型可能会存在一定的空间浪费。

varchar(n) -- 不定长字符串

其中n的范围: 0~255 /个字符 (mysql5.0之前)

0~65535 /个字节(mysql5.0之后)

如果存储的数据长度小于定义的最大长度, 剩余的空间可以留给别的数据使用, 因此varchar类型不会有空间的浪费。

大文本类型有:

text 0~65535 /个字节

bigtext 4GB

ps: char和varchar有什么区别?

char类型比varchar类型存储的效率略高,但是存在空间浪费。

1.3 日期类型

date 格式:年月日

time 格式:时分秒

datetime 格式: 年月日 时分秒

timestamp 时间戳(实际上存储的是从1970-1-1日到指定时间的毫秒值)

datetime的范围: 1000~9999年

timestamp的范围: 1970~2038年

timestamp类型的列可以设置自动更新为当前时间,但是datetime不能设置

2.表记录的操作

2.1 字段约束

1.主键约束

如果一个列添加了主键约束,那么该列就是这张表的主键,主键要求唯一且不能为空。

create table person1(

id int primary key,

...

);

2.唯一约束

如果为一个列添加了唯一约束,那么该列的值就不能重复,但是可以为null。

create table person2(

name char(10) unique,

...

);

3.非空约束

如果为一个列添加了非空约束,那么该列的值就不能为空,但是可以重复。

create table person3(

gender varchar(2) not null,

...

);

2.2 drop、delete、truncate之间的区别?

● drop只能删除库和表,不能删除表记录。

● delete和truncate是删除表记录,不能删除库和表本身

● delete删除表记录时,可以删除表中的某一部分记录,也可以删除表中的所有记录,而且删除时,是一条

一条删除。

● truncate也是删除表记录,但是只能删除所有记录,删除时不是一条一条删除,而是将整张表摧毁重建。

3. MySql常见的函数

1、ifnull(列名, 值)

判断指定的列的值是否为null, 如果为null, 则用第二个参数对null值进行替换

2、count(列名 | *)

count函数是对指定的列或者所有列统计行数

3、max(列名)和min(列名)

max(列名)

对指定的列求最大值

min(列名)

对指定的列求最小值

4、sum(列名和avg(列名)

sum(列名)

对指定的列进行求和

avg(列名)

对指定的列求平均值

5、curdate()、curtime()、sysdate()、now()

Curdate()

获取当前时间, 格式为年月日

Curtime()

获取当前时间, 格式为时分秒

Sysdate() | now()

获取当前时间, 格式为年月日 时分秒

4. 外键和表关系

4.1 外键介绍

外键就是用于通知数据库两张表数据之间对应关系的一个列, 数据库会通过外键来维护两张表的对

应关系。

4.2 添加外键

● 创建表的同时添加外键

CREATE TABLE student(

sid int primary key auto_increment, -- 学生编号

sname VARCHAR(10), -- 学生姓名

s_cid INT, -- 班级编号

FOREIGN KEY (s_cid) REFERENCES class(cid) --指定外键

);

● 在建表后添加外键

//添加外键约束:ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);

4.3 表关系

● 一对一

● 一对多

● 多对多

4.4 关联查询、外连接查询

● 关联查询

select * from class, student

where student.s_icd = class.cid;

● 左外连接查询

左外连接查询会将左边表中的所有记录都查询出来, 而右边表中只查与左边对应的记录。

select * from class left join student on student.s_icd = class.cid;

● 右外连接查询

右外连接查询会将右边表中的所有记录都查询出来,而左边表中只查与右边对应的记录。

select * from class right join student on student.s_icd = class.cid;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值