数据库简捷总结

目录

2.DDL数据定义语言:(主要对数据库和表定义的操作)

2.1数据类型:

2.2约束:

2.3添加外键:

2.4条件:

3.DML数据标记性语言--------增删改

删除:

修改:

4.DQL数据库查询语言--------查询数据表中的记录

4.1模糊查询 like 通配符 %:统配n个字符 _:统配一个字符

4.2联表:

4.3查询嵌套:

4.4内置函数:

5大聚合函数:一般和分组使用

字符串函数:

日期的函数:

数学函数:


1.Mysql数据库(SQL结构化语言)------操作数据库中数据库中数据【增删改查】

2.DDL数据定义语言:(主要对数据库和表定义的操作)

create database 数据库名;//创建数据库

use 数据库名;//要操作的数据库

drop database 数据库名;//删除数据库

create table 表名(

列名 数据类型 约束,

.....

列名 数据类型 约束

);//创建表和表内的字段

2.1数据类型:

int ,bigint, varchar(长度)--可变,char(长度)--固定长度,decimal(长度,小数),text,date

2.2约束:

主键primary key,

唯一约束 unique,

非空约束not null,是空is not null,

默认约束default,检查约束(8.0.14以后)check,

外键约束constraint foreign key references

递增 必须为整型类型(在最前面): auto_increment

2.3添加外键:

第一种:创建表时添加外键

[constraint][外键名称] foreign key(外键字段名) references 主表(主表列名)

第二种:在创建完表之后添加外键(一对多):(外对主)

一的表名 自己拟定的 一里面的外键名 多的表名(字段名)

alter table 表名 add constraint 外键名称 foreign key(外键字段) references 主表(主表字段名);

2.4条件:

1. 关系运算符: >,>=,<,<=,=,!=

2. (not)in运算符:(不)包含

3. between and

4. 逻辑运算符: and(与) or(或)

3.DML数据标记性语言--------增删改

增加:

insert into 表名 values(值,值,值.....),(值,值,值.....)......;//为表中所有列添加数据(单/多条)

insert into 表名(列名,列名...) values(值,值....);//为指定列添加数据

删除:

delete from 表名; -- 删除表中所有的记录 [不建议使用]--删库跑路蹲大牢

delete from 表名 where 条件; -- 根据条件删除满足条件的记录

修改:

update 表名 set 修改的字(列名=值,列名=值.... ) where 条件;

4.DQL数据库查询语言--------查询数据表中的记录

select [distinct--去重] [列名 as 别名,列名 别名, 列名--起别名][*--全局]

from 表名

[where 条件]

[group by 分组列] [having 分组后的条件] //分组及分组后的条件

[order by 排序的列 [desc asc:默认]] //排序及排序方式

[limit 起始记录,每页的条数]//分页

4.1模糊查询 like 通配符 %:统配n个字符 _:统配一个字符

通常和concat搭配使用

4.2联表:

重点:找到两个表之间关联的字段,想要的数据在*处替换,添加即可

注:多个表连接,表>=2

内连接:select * from 表名1 [inner] join 表名2 on 联表条件;//并集,相同合一

左连接:select * from 表名1 left join 表名2 on 联表条件;//表1的全部(包括和表2公共的部分)

左连接:select * from 表名1 right join 表名2 on 联表条件;//表2的全部(包括和表1公共的部分)

自连:select * from 表名 [inner/left/right] join 表名 on 联表条件;//规则和上面相同

4.3查询嵌套:

把一个sql查询的结果作为另一个sql查询的条件值/临时表。

4.4内置函数:

5大聚合函数:一般和分组使用

sum():求和

count(): 求个数

avg():平均值

max():最大值

min():最小值

字符串函数:

concat(s1,...sn):拼接

lower(str):转小写

upper(str):转大写

lpad(str,n,pad):左填充---用pad对str的左边填充n个长度

rpad(str,n,pad):右填充---用pad对str的右边填充n个长度

trim(str):去空格

substring(str,start,len):返回从str从start到len的字符串

char_length(str):返回字符串的长度

日期的函数:

curdate():返回当前日期

curtime():返回当前时间

now():返回当前日期和时间

year(date):获取date的年份

month(date):获取date的月份

day(date):获取date的日期

date_add(date,interval e type):返回一个日期/时间值+时间间隔e后的时间值

datediff(date1,date2):返回date1和date2之间的天数

数学函数:

ceil(x):向上取整

floor(x):向下取整

mod(x,y):返回x/y的模

abs(x):求x的绝对值

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值