原生sql语句写法

1.SQL语句

1.1什么是SQL语句:

SQL:结构化查询语言。关系数据库语言的国际标准。

各个数据库厂商都支持ISO的SQL标准:如普通话

各个数据库厂商在标准基础做了自己的扩展:如方言

1.2 SQl分类

数据定义语言:DDL(Data Definiton Language),用来定义数据库对象。关键字:数据库database,表table,列column等。关键字:创建create,修改alter,删除drop等(结构)。

数据操作语言:DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:插入insert,删除delete,更新update等(数据)。

数据查询语言:DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等。

数据控制语言:DCl(Data Control Language),用来定义数据库的访问权限和安全级别及创建用户。关键字:grant等。

1.3 数据库操作

create database xxx; -- 创建数据库xxx
drop database xxx; -- 删除数据库xxx
show databases; -- 查看所有数据库
show create database xxx; -- 查看数据库xxx的定义信息
use xxx;-- 切换数据库
select database();-- 查看正在使用的数据库

1.4 表操作

create table xxx(
	字段名 类型(长度) [约束],
  	字段名 类型(长度) [约束],
 	字段名 类型(长度) [约束]
); -- 创建表xxx
show tables; -- 查询数据库中所有表
desc xxx;-- 查看表xxx的结构
drop table xxx;-- 删除表xxx;
alter table xxx add yyy 类型(长度) [约束]; -- 修改表xxx添加列yyy
alter table xxx modify yyy 类型(长度) [约束];-- 修改表xxx列yyy的类型长度及约束
alter table xxx change yyy zzz 类型(长度) [约束];-- 修改表xxx 列yyy名为zzz
alter table xxx drop yyy; -- 修改表xxx 删除列yyy
alter table xxx character set 字符集; -- 修改表xxx 的字符集
rename table xxx to yyy; -- 修改表xxx名为yyy

1.5 插入记录 insert

insert into xxx (c1,c2,c3) values (v1,v2,v3); -- 向表xxx插入某些列数据
insert into xxx values (v1,v2,v3,v4); -- 向表xxx插入所有列数据

1.6 更新记录 update

update xxx set c1=v1,c2=v2...; -- 更新表xxx的某些列的值
update xxx set c1=v1,c2=v2... where 条件; -- 根据条件更新表xxx某些列的值

1.7 删除记录 delete

delete from xxx where; -- 根据条件删除表某些记录

1.8 查询记录 select

select * from xxx; -- 查询表xxx所有记录
select c1,c2 from xxx; -- 查询表xxx c1,c2记录
select * from xxx as x;  -- 别表名查询
select c1 as c from xxx; -- 别列名查询
select distinct c1 from xxx; -- 去掉 c1重复值
select c1+10 from xxx; -- 将c1+10显示

1.9 条件查询

select * from xxx where c1 = 'v1'; -- 查询表xxx 中c1 = v1 的所有信息
-- where 后写法:
-- 1. > 大于;< 小于;= 等于;>= 大于等于;<= 小于等于;<> 不等于;
-- 2. like '_' 表示一个字符 ‘%’ 表示任意个字符 
select * from xxx where c1 like '%v%'; -- 查询所有c1 中含 v 的所有信息
-- 3. in在某个范围里的值
select * from xxx where c1 in (v1.v2.v3); -- 查询表xxx所有c1=v1|c1=v2|c1=v3 的所有信息
-- 4. IS NULL 判断是否为空
-- 5. BETWEEN ....AND ... 显示在某个区间的值

1.10 排序查询

select * from xxx order by c1 asc|desc; -- asc :升序 desc 降序 

1.11 聚合查询

select sum(c1) from xxx; -- sum()求和; avg()平均;max()最大值;min()最小值;count()计数;

1.12 分组查询

select c1,count(*) from xxx group by c1; -- 根据从c1字段分组,分组后统计个数

1.13 sql查询总结

select distinct 字段名 from 表名 where 条件 group by 分组字段 having 分组条件 order by 排序字段

猜你喜欢

转载自blog.csdn.net/weixin_42236404/article/details/85866622