SQL是结构化查询语言的缩写,用于管理关系数据库(RDBMS)中的数据。SQL语言由IBM公司的Donald Chamberlin和Raymond Boyce于20世纪70年代开发而来,是关系型数据库最常用的管理语言。
使用SQL语言可以实现关系型数据库中的数据处理、数据查询、数据管理以及数据安全等操作。SQL语言具有代码简洁易读的特点,也能够支持多种不同的查询操作,如联合查询、嵌套查询和排序查询等。
SQL语言的基础语法主要包括数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和事务控制语言(TCL)等。在实际应用中,我们通常使用工具,如MySQL、Oracle和Microsoft SQL Server等,来进行SQL语言的操作。
总的来说,SQL语言在关系型数据库管理中起着至关重要的作用,是大量的数据管理工作不可或缺的一种工具。
下面的SQL语句中 [ ]里的内容可看情况省略
show databases;
select database();
use 数据库名;
create database 数据库名;
2.如果不存在才创建
create database if not exists 数据库名;
drop database 数据库名;
1.4.2 如果存在才删除
drop database if exists 数据库名;
create table 表名(
字段1 字段类型 [约束] [comment 字段1注释],
……
字段1 字段类型 [约束] [comment 字段2注释]
) [comment 表注释]
show tables;
desc 表名;
show create table 表名;
alter table 表名 add 字段名 类型(长度)[comment 注释] [约束];
alter table 表名 modify 字段名 新数据类型(长度);
alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];
alter table 表名 drop column 字段名;
rename table 表名 to 新表名;
drop table [if exists] 表名;
inster into 表名 (字段1,字段2) values (值1,值2);
insert into 表名 values (值1,值2,...);
insert into 表名(字段名1,字段名2)values(值1,值2),(值1,值2);
insert into 表名 values (值1,值2,....),(值1,值2,....)...;
delete from 表名 [where 条件];
update 表名 字段1=值1,字段2=值2,……[where 条件]
selce 字段1,字段2,··· from 表名;
select * from 表名;
select 字段1 as 别名1, 字段2 as 别名2,··· from 表名;
select distinct 字段列表 from 表名;
select 字段列表 from 表名 where 条件;
select 聚合函数(字段) from 表名;
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
eg1:根据性别分组,统计男性和女性员工的数量
select gender,count(*) from tb_emp group by gender;
eg2:先查询入职时间在‘2015-01-01’(包含)以前的员工,并对结果根据职位分组,获得员工数量大于等于2是的职位(分组后的条件要用having)
select job ,count() as 数量 from tb_emp where entrydate<=‘2015-01-01’
group by job having count() >=2;
eg1:if(条件,true,fasle)
select if(gender=1,'男','女') 性别, count(*) 数量 from 表名 group by gender;
eg2:ifnull(字段,显示)
select name,ifnull(job,'未定义职业') 职业 from 表名;
eg3:case 字段,when 值1 then 显示1 when 值2 then 显示2 …else 显示 end
select name 姓名, case job when 1 then '班主任' when 2 then '讲师' when 3 then '学生' else '教官' end 职业 from 表名;
select 字段列表 from 表名 [where 条件列表] [group by 分组字段] order by 字段1 排序方式,字段2 排序方式 ;
排序方式
select 字段列表 from 表名 limit 起始索引,查询记录数;
select 字段列表 from 表1,表2 where 条件...;
select 字段列表 from 表1 [inner] join 表2 on 连接条件...;
select 字段列表 from 表1 left [outer] join 表2 on 连接条件;
select 字段列表 from 表1 right [outer] join 表2 on 连接条件...;
介绍:SQL语句中嵌套select语句,称为嵌套查询,又称子查询
select * from t1 where 字段 = (select 字段 from t2 ... );
select * from 表名 where (字段1,字段2) = (select 字段1,字段2 from 表名 [where 条件]);
事务 是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作 要么同时成功,要么同时失败。
start transaction; 或 begin ;
commit;
rollback;
索引是帮助数据库高效获取数据的数据结构。
create [unique] index 索引名 on 表名(字段名,...);
show index from 表名;
drop index 索引名 on 表名;