查询所有数据库
show databases;
查询当前数据库
select database();
创建
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则]
删除
drop database [is exists] 数据库名;
使用
use 数据库名;
查询当前数据库所有表
show table;
查询表结构
desc 表名;
建表语法
create table 表名(
字段1 类型 [comment 注释],
字段2 类型 [comment 注释],
字段3 类型 [comment 注释]
)[comment 表注释];
删除表
drop table 表名;
删除指定表,并重新创建表
truncate table 表明;
添加字段
alter table 表名 add 字段名 类型 [comment 注释] [约束];
修改数据类型
alter table 表名 modify 字段名 新类型;
修改字段名和字段类型
alter table 表名 change 旧字段 新字段 类型 [comment 注释] [约束];
删除字段
alter table 表名 drop 字段名;
清空表
truncate table 表名
修改表名
alter table 表名 rename to 新表名;
给指定字段添加数据
insert into 表名 (字段名1,字段名2) values (值1,值2);
给全部字段添加数据
insert into 表名 values(值1,值2);
批量添加数据
insert into 表名 (字段名1,字段名2) values (值1,值2),(值1,值2),(值1,值2);
insert into 表名 values (值1,值2),(值1,值2),(值1,值2);
注意
修改数据
update 表名 set 字段=值1,字段2=值2 [where 条件];
删除数据
delete from 表名 [where 条件]
注意
扩充:
TRUNCATE语句和DELETE语句的区别
1、delete语句,是DML语句,truncate语句通常被认为是DDL语句。
2、delete语句,后面可以跟where子句,通常指定where子句中的条件表达式,只删除满足条件的部分记录,而truncate语句,只能用于删除表中的所有记录。
3、truncate语句,删除表中的数据后,向表中添加记录时,自动增加字段的默认初始值重新从1开始,而使用delete语句,删除表中所有记录后,向表中添加记录时,自动增加字段的值,为删除时该字段的最大值加1,也就是在原来的基础上递增。
4、delete语句,每删除一条记录,都会在日志中记录,而使用truncate语句,不会在日志中记录删除的内容,因此,truncate语句的执行效率比delete语句高。
select
字段列表
from
表名
where
条件
group by
分组字段列表
having
分组后条件
orber by
排序字段
limit
分页
1.查询多个字段
select * from 表名;
select 字段1,字段2,字段3 from 表名;
2.设置别名
select 字段1 [as 别名],字段2 [as 别名] from 表名;
3.去除重复记录
select distinct 字段列表 from 表名;
1.语法
select 字段列表 from 表名 where 条件列表;
2.条件
比较运算符 | 功能 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
between …and… | 在某一个范围之内(最小,最大值) |
in(…) | 在in之后的列表中的值,多选一 |
like 占位符 | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
is null | 是NULL |
is not null | 不为null |
逻辑运算符 | 功能 |
---|---|
and 或 && | 并且(多个条件同时成立) |
or 或 || | 或者(多个条件任意一个成立) |
not 或 ! | 非,不是 |
1.介绍
将一列数据作为一个整体,进行纵向计算
2.常见聚合函数
函数 | 功能 |
---|---|
count | 统计数量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
3.语法
select 聚合函数(字段列表) from 表名;
注意
1.语法
select 字段 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
2.where与having区别
3.注意
1.语法
select 字段 from 表名 order by 字段 排序方式;
2.排序方式
3.注意
1.语法
select 字段 from 表名 limit 起始索引,查询记录数;
2.注意
起始索引从0开始,起始索引=(查询页面-1)*每页显示记录数
分页查询是数据库的方言,不同数据库有不同的实现,MySQL中是limit
如果查询的是第一页数据,起始索引可以省略
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZ2pYaKQ-1681953129852)(D:/stuby_data/person-data/数据库SQL/黑马MySQL学习笔记.assets/image-20230405160922791.png)]
DCL(数据库控制语言),用来管理数据库用户,控制数据库的访问权限.
1.查询用户
use mysql;
select * from user;
2.创建用户
create user '用户名'@'主机名' identified by '密码';
3.修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
4.删除用户
drop user 'mysql'@'主机名';
注意
权限 | 说明 |
---|---|
all,all privilege | 所有权限 |
select | 查询数据 |
insert | 插入数据 |
update | 修改数据 |
delete | 删除数据 |
alter | 修改数据 |
drop | 删除数据库或表 |
create | 创建数据库或表 |
1.查询权限
show grants for '用户名'@'主机名';
2.授予权限
grant 权限列表 on 数据库.表名 to '用户名'@'主机名';
3.撤销权限
revoke 权限列表 on 数据库.表名 from '用户名'@'主机名';
注意
1.查询权限
show grants for '用户名'@'主机名';
2.授予权限
grant 权限列表 on 数据库.表名 to '用户名'@'主机名';
3.撤销权限
revoke 权限列表 on 数据库.表名 from '用户名'@'主机名';
注意