SQL:
- DDL:Data Define Language
数据定义语言,即定义数据的结构。
例如:create,drop,alter - DML:Data Manage Language
数据管理语言,对数据值的增、删、改
例如:insert,delete,update, - DQL:Data query language
数据查询语言,查询数据记录
例如:select - DCL:Data Control Language
数据控制语言,对权限、事务等的控制
例如:grant,revoke,commit,rollback等
DDL
一.操作数据库
1.创建
创建数据库
create database 数据库名;
创建数据库,判断是否存在,并指定字符集
create database if not exists 数据库名 character set 字符集;
2.查询
查询所有数据库的名称
show databases;
查询当前正在使用的数据库名称
select database();
查询某个数据库的字符集–相当于查询数据库的创建sql语句
show create database 数据库名;
3.修改
修改数据库的字符集
alter database 数据库名 character set 字符集;
4.删除
删除数据库
drop database 数据库名;
删除数据库前先判断是否存在
drop database if exists 数据库名;
二.操作表
1.创建
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
......
列名n 数据类型n
);
2.查询
查询某个数据库中所有的表
show tables;
查询表结构
desc 表名;
查询表的创建语句
show create table 表名;
3.修改
修改表名
alter table 表名 rename to 新表名
修改表的字符集
alter table 表名 character set 字符集;
添加列
alter table 表名 add 列名 数据类型;
修改列类型
alter table 表名 modify 列名 数据类型;
修改列名和类型
alter table 表名 change 旧列名 新列名 数据类型;
4.删除
删除表
drop table 表名
删除列
alter table 表名 drop 列名;
5.复制表
create table 新表名 like 原表名;
DML
1.添加数据
添加字段
insert into 表名 (列名1,列名2,...列名n) values (值1,值2,...值n);
列名和值要一一对应,添加全部字段数据时,列名部分可以省略,即:
insert into 表名 values (值1,值2,…值n);
批量新增语法
insert into 表名 (字段1,字段2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...)
2.修改数据
update 表名 set 列名1=值1, 列名2=值2, ... [where 条件];
说明:如果没有where条件,说明修改所有行的这几个字段的值
3.删除数据
删除满足条件的数据
delete from 表名 [where 条件];
DQL
1.基础查询
多个字段查询
select 字段名1,字段名2... from 表名;
去除重复,关键字distinct放select后面
select distinct 字段名1,字段名2... from 表名;
起别名,字段名 后写关键字 as 或省略as 直接用空格。
例如:select id as 编号,name 姓名 from student;
2.条件查询
where和 运算符 构成查询条件
> 、< 、<= 、>= 、= 、<>
between...and
in( 集合)
like:模糊查询
占位符:
_:单个任意字符
%:0~n个任意字符
is null
and 或 &&
or 或 ||
not 或 !
3.模糊查询
关键字like
占位符:
_:单个任意字符
%:0~n个任意字符
例如:
#查询名字带有马的学生
select * from student where name like '%马%';
#查询名字的第二个字是马的学生
select * from student where name like '_马%';