C(Create): 创建数据库:
create database 数据库名;//创建数据库
create database if nor exists 数据库名称;//创建数据库并判断不存在,再进行创建
create database 数据库名称 character set 字符集名称;//创建数据库并指定字符集
R(Retrieve): 查询数据库:
show databases;//查询所有数据库名称
show create database 数据库名称;//查询数据库的字符集/创建数据库的语句
U(Update): 修改
alter database 数据库名称 character set 字符集名称;//修改数据库字符集
D(Delete): 删除数据库:
drop database 数据库名;//删除数据库
drop database if exists 数据库名称;//判断数据库存在再进行删除
使用数据库:
1.select database ();//查询正在使用的数据库名称
2.use 数据量名称;//使用数据库
表结构操作语句
C(Create)创建表格式:
create table 表名 (
数据名
数据类型,
);
复制表:
create table 表名 like 被复制的表名;
R(Retrieve)查询:
查看数据库所有表:
show tables;
查看表结构:
desc 表名;
查看表的字符集:
show create table 表名;
U(Update):修改
增加表的一条字段:
alter table 表名 add 数据名称 数据类型;
修改以存在数据字段:
alter table 表名 change 修改的数据名 修改的数据类型;
修改表名
alter table 表名 rename to 新的表名;
修改表的字符集
alter table 表名 character set 字符集名称;
修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型;
alter table 表名 modify 列名 新数据类型;
D(Delete):删除
删除列:
alter table 表名 drop 列名;
删除表:
drop table 表名;
判断表存在再进行删除:
drop table if exists 表名 ;
删除后再重新创建该表:
truncate 表名;
DML
-数据操作语言
添加数据:
添加格式:
insert into 表名(数据名)values(数据);
insert into 表名 (数据名1,数据名2) values(数据1,数据2);
insert into 表名 values(数据1,数据2);
删除数据:
删除格式:
delete from 表名 where 判断条件;
delete from 表名(删除整个表);
delete from 表名; 有多少条记录就会执行多少次删除操作
truncate table 表名; 效率更高,先删除表,然后再创建一张一样的表。
修改数据:
修改格式:
update 表名 set 被修改的数据 where 判断修改条件;
注意:
如果不加任何条件,则会将表中所有记录全部修改
DQL
-数据查询语言
语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
基础查询:
select * from 表名;//查询表中所有数据
select 数据名 from 表名;//查询单个表中数据
select 数据名1,数据名2 from 表名;//查询表中多个字段
排序查询:
order by 排序字段1 排序方式1,排序字段2 排序方式2....
排序方式:
asc:升序(默认)
desc:降序
注意:如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。
聚合函数:(将一列数据作为整体,进行纵向计算)
1.count:计算个数//一般选择非空的列计算
count(*)//计算列里无论有没有null或者0的都会计算
2. max:计算最大值
3. min:计算最小值
4. sum:计算和
5. avg:计算平均值
注意:聚合函数计算,配出null值
解决方案:
1.选择不包含非空的列进行计算
2.if null函数判断并替换为0
分组查询:
语法:group by 分组字段
注意:
1. 分组之后查询的字段:分组字段、聚合函数
2. where 和 having 的区别:
1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
分页查询:
语法:
limit开始的索引,每页查询的条数
公式:
开始的索引 = (当前的页码 - 1) * 每页显示的条数
-- 每页显示X条记录
limit是一个MySQL"方言"
去除重复:
select distinct(列名);
计算列
一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
表达式1:哪个字段需要判断是否为null
如果该字段为null后的替换值
起别名:
as:as也可以省略
条件查询:
where 子句判断条件
运算符
* > 、< 、<= 、>= 、= 、<>
* between...and
* in( 集合)
* like:模糊查询
* 占位符:
* _:单个任意字符
* %:多个任意字符
* is null
* and 或 &&
* or 或 ||
* not 或 !
约束