SQL语句(mysql)

DDL数据定义语言:使用create ,drop,alter等关键字

创建库:create database [if not exists] 数据库名 charset utf8

删除库:drop database [if exists] 数据库名

修改库的字符集:update database 数据库名 charset utf8

创建表:create table 表名 (列名 数据类型 [约束] [默认值] [注释], ...

[constraint 约束名 约束规则]

)

删除表:drop table [if exists] 表名

修改表名:rename table 旧表名 to新表名

复制表结构:create table 新表名 like 被复制表名

主键自动增长: auto-increment

注释: comment '注释'

已经创建好的数据库不能修改数据库名称

DML数据操纵语言:使用insert ,delete,update等关键字

插入数据: insert into 表名 values('字段值1','字段值2',...,'字段值n');

insert into 表名 set 列名1=值1,..列名n=值n;

insert into 表名(列1,列2……,列n) VALUES(值1,值2…..,值n),(值1,值2….., 值n);

insert into 表名(列1,列2……,列n) 查询语句(查询的列数与插入列数匹配);

删除数据:delete from 表名where条件

修改数据:update 表名set 字段 =' 值' where 条件

DQL数据查询语言:使用select等关键字

基础查询:select 字段 from 表名

select * from 表名 :查询全部数据

select distinct 字段 from 表名:排除重复行

查询结果处理:分类:单行函数,分组函数(又称聚合函数)

单行函数

字符函数:

length():获取参数值的字节个数

char_length():获取参数值的字符个数

concat(str1,str2,.....):拼接字符串

upper()/lower():将字符串变成大写/小写

substring(str,pos,length):截取字符串 位置从1开始

instr(str,指定字符):返回子串第一次出现的索引,如果找不到返回0

trim(str):去掉字符串前后的空格或子串,trim(指定子串 from 字符串)

lpad(str,length,填充字符):用指定的字符实现左填充将str填充为指定长度

rpad(str,length,填充字符):用指定的字符实现右填充将str填充为指定长度

replace(str,old,new):替换,替换所有的子串

逻辑处理:

case when 条件 then 结果1 else 结果2 end; 可以有多个when

ifnull(被检测值,默认值)函数检测是否为null,如果为null,则返回指定的值,否则返回原本的值

if: if(条件,结果1,结果2)

数学函数:

round(数值):四舍五入

ceil(数值):向上取整,返回>=该参数的最小整数

floor(数值):向下取整,返回<=该参数的最大整数

truncate(数值,保留小数的位数):截断,小数点后截断到几位

mod(被除数,除数):取余,被除数为正,则为正;被除数为负,则为负

rand():获取随机数,返回0-1之间的小数

日期函数:

now():返回当前系统日期+时间

curdate():返回当前系统日期,不包含时间

curtime():返回当前时间,不包含日期

YEAR(日期列),MONTH(日期列),DAY(日期列) , HOUR(日期列) ,MINUTE(日期列)SECOND(日期列):获取指定的部分,年、月、日、小时、分钟、秒

str_to_date:将日期格式的字符转换成指定格式的日期

date_format:将日期转换成字符串

datediff(big,small):返回两个日期相差的天数

分组函数:

功能:用作统计使用,又称为聚合函数或统计函数或组函数

分类:sum 求和、avg 平均值、max 最大值、min 最小值、count 计数

1.sum,avg一般用于处理数值型max,min,count可以处理任何类型

2.以上分组函数都忽略null值

3.count函数的一般使用count(*)用作统计行数

4.分组函数后的字段要求是group by

添加外键

1.修改表的做法:alter table 表名 add constraint 约束名 foreign key() references 被参照表()

2.创建表的做法:constraint 约束名 foreign key() references 被参照表()

约束命名规则:FK_ForeignTable_PrimaryTable_On_ForeignColumn

关联查询: on 条件

inner join:内连接

left join:左外连接

right join:右外连接

条件查询:select 字段from 表 where 条件

比较:<、>、=、!=、>=、<=

逻辑运算:and、or、not

模糊查询:like关键字 ,一般与通配符一同使用

通配符:% 表示多个字符,_表示一个字符

between and

is null,is not null:是否为空

union,union all: sql语句1

union/union all

sql语句2

当使用Union时,会自动去除重复记录,而使用union all时会返回所有记录,效率高于union

排序:order by DESC(降序)/ASC(升序) 默认为ASC

数量限制:limit 跳过数目,显示数目

分组查询:select 分组函数,列(要求出现在group by的后面)

from 表

[where 筛选条件]

group by 分组的列表

[having 分组后的筛选]

[order by 子句]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值