MySQL语句汇总(节选)

本文详细介绍了SQL的基本操作,包括如何创建数据库和表,使用drop语句删除,show语句查看信息,alter语句修改表结构,以及delete和insert用于数据管理。此外,还涵盖了update语句更新数据,select查询语句的各种用法,如过滤、排序和分组,以及常用的函数和聚合函数。这些基础知识对于理解和操作SQL数据库至关重要。
摘要由CSDN通过智能技术生成

create语句,创建库、表
create database [数据库名];            创建数据库

create table [表名](
列名1  数据类型  约束,
列名2  数据类型  约束,
列名3  数据类型  约束,



列名n  数据类型  约束
);                                                 创建表
+---------------------------------------------------------------------------------------------------+
约束
primary key    主键
unique    唯一
check       检查
default      默认
foreign key (本表列名) reference 目标表(列名)   外键
not null     非空
                                                            
+---------------------------------------------------------------------------------------------------+
drop语句,删除库、表
drop database [数据库名];                   删除数据库
drop table [表名];              删除表
+---------------------------------------------------------------------------------------------------+
show语句,查看数据库与表信息
show databases;                                               查看当前主机中所有的数据库

show tables;                                                     查看当前库中所有的表

show create table [表名];              显示创建数据表的语句

show create database [数据库名]; 显示创建数据库的语句

show columns from [表名];       显示表中所有的列
+---------------------------------------------------------------------------------------------------+
alter语句,修改表结构
alter table [表名] add [列名] [数据类型];         添加列

alter table [表名] change [旧列名] [新列名] [数据类型];    修改列

alter table [表名] drop column [列名];           删除列
+---------------------------------------------------------------------------------------------------+
delete语句,删除表数据
delete from [表名];   删除表中所有数据

delete from [表名] where [列名] = [值];   删除指定行
+---------------------------------------------------------------------------------------------------+
插入表数据 insert into
insert into [表名] 
(字段1,字段2,字段3.。。。。。。)
values
(值1,值2,值3.。。。。。)
+---------------------------------------------------------------------------------------------------+
update语句,修改表数据
update [表名] set [列名] = [值];   将表中某列所有修改为指定值

update [表名] set [列名] = [值] where [列名] = [值];  指定某行某列修改为指定值
+---------------------------------------------------------------------------------------------------+
检索数据
select查询主句

select [列名] from [表名];             检索单列

select [列名],[列名],[列名]... from [表名];             检索多列

select * from [表名];                 检索所有列

select distinct [列名] from [表名];    去除重复值
+---------------------------------------------------------------------------------------------------+
限定查询结果
limit子句  

select [列名] from [表名]
limit 5;                                           只返回小于等于五条数据  

select [列名] from [表名]
limit 5,5;                                     返回从第五行开始的第五条数据
+---------------------------------------------------------------------------------------------------+
结果排序
order by子句

select [列名] from [表名]
order by [列名];             指定以某列进行排序,默认升序[a-z][A-Z][0-9]

select [列名] from [表名]
order by [列名1],[列名2],[列名3]..;   多列排序,先按列1排,再按列2排,后面以此类推

select [列名] from [表名]
order by [列名] desc;          指定降序排列   关键字desc

select [列名] from [表名]
order by [列名1] desc,[列名2];  混合使用升降序,先按列1降序排,再按列2降序排
+---------------------------------------------------------------------------------------------------+
过滤数据
where子句

select [列名] from [表名]
where 列名  = [值];            只返回符合条件【列名 = [值]】的值

where字句操作符
=    等于
<>   不等于
!=   不等于
<    小于
<=   小于等于
>    大于
>=   大于等于

BETWEEN 在指定的两个值之间
select [列名] from [表名]
where 列名 between 5 and 10; 限定结果在5到10之间

is null空值检查
select [列名] from [表名]
where [列名] is null;       检索出某列为null的所有行

组合where子句:or  两个条件任意满足一个
select [列名] from [表名]
where [列名] = [值] or [列名]  = [值];   检索满足任意一个条件的行

组合where子句:and 两个条件必须同时满足
select [列名] from [表名]
where [列名] = [值] and [列名]  = [值]; 检索满足所有条件的行

混合使用and和or
select [列名] from [表名]
where ([列名] = [值] or [列名]  = [值]) and [列名]  = [值]; 使用括号定义条件优先级,先判断or,再判断and

in操作符:指定取值范围
select [列名] from [表名]
where [列名] in (值1,值2,值3...);  检索列的值为括号中的行(in功能和or类似,但是in执行更快)

not操作符
select [列名] from [表名]
where [列名]  not in (值1,值2,值3...); 检索所有列中值不为括号中的值的行

like操作符,通配符过滤
%  表示任意字符,出现0次或任意次数
select [列名] from [表名]
where [列名] like “a%”;     检索以a开头的结果

select [列名] from [表名]
where [列名] like “%a%”;  检索中间包含a的结果

select [列名] from [表名]
where [列名] like “%a”; 检索末尾为a的结果

_  表示任意字符出现一次
select [列名] from [表名]
where [列名] like “a_”;     检索以a开头且后面只有一个字符结果

select [列名] from [表名]
where [列名] like “_a_”;  检索a前后为一个字符的结果

select [列名] from [表名]
where [列名] like “_a”;   检索a前为一个字符的结果

正则表达式搜索结果
基本字符匹配  regexp
select [列名] from [表名]
where [列名] regexp “abc”;               检索包含abc文本的结果(不区分大小写)

select [列名] from [表名]
where [列名] regexp binary “abc”;        binary 关键字区分大小写

select [列名] from [表名]
where [列名] regexp “a|b”;             匹配结果中含a和b的结果

select [列名] from [表名]
where [列名] regexp “[abc] df”;      匹配多个值,结果中包含a、b、c三个值的结果

select [列名] from [表名]
where [列名] regexp “[0-9]”;         匹配范围0到9,若匹配字母,可写为[a-z]或[A-Z]

select [列名] from [表名]
where [列名] regexp “\\|”;          匹配包含 | 的结果,\\表示转义

匹配字符类
预定义的字符集
元字符                             说明
[:alnum:]         任意字母和数字(同[a-zA-Z0-9])
[:alpha:]          任意字符(同[a-zA-Z])
[:blank:]          空格和制表(同[\\t])
[:cntrl:]          ASCII控制字符(ASCII 0到31和127)
[:digit:]         任意数字(同[0-9])
[:graph:]         与[:print:]相同,但不包括空格
[:lower:]         任意小写字母(同[a-z])
[:print:]         任意可打印字符
[:punct:]         既不在[:alnum:]又不在[:cntrl:]中的任意字符
[:space:]         包括空格在内的任意空白字符(同[\\f\\n\\r\\t\\v])
[:upper:]         任意大写字母(同[A-Z])
[:xdigit:]         任意十六进制数字(同[a-fA-F0-9])

重复元字符
元 字 符                 说 明
*                  0个或多个匹配
+                 1个或多个匹配(等于{1,})
?                  0个或1个匹配(等于{0,1})
{n}                 指定数目的匹配
{n,}             不少于指定数目的匹配
{n,m}             匹配数目的范围(m不超过255)

定位符
元 字 符             说 明
^         文本的开始
$         文本的结尾
[[:<:]]   词的开始
[[:>:]]   词的结尾
+---------------------------------------------------------------------------------------------------+
函数

计算字段
拼接字段    concat()
去除左边空格 RTrim()
去除右边空格 LTrim()
去除左右两边空格 Trim()
使用别名  as

算术计算
+ - * /

文本处理函数
Upper() 转大写
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
Right() 返回串右边的字符
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符

日期和时间处理函数
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个时间(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个日期的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分

数值处理函数
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个角度的正切

聚集函数
AVG() 返回某列的平均值
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列值之和

+---------------------------------------------------------------------------------------------------+
数据分组
group by 分组依据
having 分组条件

SELECT子句顺序
SELECT 要返回的列或表达式 
FROM 从中检索数据的表
WHERE 行级过滤 
GROUP BY 分组说明 
HAVING 组级过滤 
ORDER BY 输出排序顺序 
LIMIT 要检索的行数

+---------------------------------------------------------------------------------------------------+

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值