Ddl-数据库操作
查询
查询所有数据库
Show databases;
查询当前数据库
Select database();
创建
Create database [ if not exists ] 数据库名【default charset】[collate 排序规则];
If not exists存在不创建 不存在创建;去掉not 则相反
Default charset设置字符集的 utf8默认3个字节 可以改成utf8mb4 支持4个字节
删除
DROP DATABASE [ IF EXISTS] 数据库名;
使用
Use 数据库名;
Ddl-表操作
Show tables; 查看单签数据库所有表
Desc 表名; 查询表结构
Show create table表名;查看指定表的建表语句
Create table 表名(
字段1 字段1类型{ comment 字段1 注释},
字段2 字段2 类型{如上},
字段3 ~,
字段四~,
){comment 表注释};
Ddl-表操作-修改类型
添加字段
Alter table 表名add字段 类型(长度)【comment 注释】【约束】;
例
为emp表增加一个新的字段‘昵称’为nickname,类型为varchar(20)
Alter table emp add nickname varchar(20) comment 昵称;
修改数据类型
Alter table 表名 modify 字段名 新数据类型(长度);
修改字段名和字段类型
Alter table表名 change 旧字段名 新字段名 类型(长度)【comment】;
例
将emp表的nickname字段修改为username,类型为varchar(30)、
Alter table emp nickname usename varchar(30);
删除字段
Alter table表名drop字段名
例
将emp表的字段username删除
Alter table emp drop username;
修改表名
Alter table 表名 rename to新表名;
例
将emp表名修改为employee
Alter table emp rename to employee;
删除表
Drop table【if exists】表名;
删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
Dml 表数据记录进行增删改操作
Insert 添加数据
Update(修改数据)
Delete(删除数据)
Dml -添加数据
1.给指定字段添加数据
insert into 表名 (字段1,字段2,…)values(值1,值2,….);
2.给全部字段添加数据
Insert into 表名 values (值1, 值2,…..);
3.批量添加数据
Insert into表名(字段1,字段2,……)values(值1,值2,…..),(值1,值2,。。。。);
注意:
1)插入数据时,指定的字段顺序需要与值得顺序一一对应的。
2)字符串和日期型数据应该包含在引号中
3)插入的数据大小,应该在字段的规定范围内。
Dml 修改数据
Update 表名 set 字段名1=值1,字段名2=值2,……【where 条件】;
例‘’
修改id 为1的数据,将name修改为itheima
Update employee set name=‘itheima’ where id=1;
修改id为1的数据将name修改为小赵,性别改为女
Update employee set name=‘小赵’,性别=‘女’ where id=1;
修改所有员工入职日期为 2008-01-01
Update employee set 日期=2008-01-01;
Dml 删除数据
Delete from 表名 【where 条件】;
Dql 数据查询语言
Dql-语法
编写顺序 执行顺序
Select 字段列表 from 表名
from 表名列表 where 条件
where 条件列表 group by分组字段
group by 分组字段列表 having 分组后条件列表
having 分组后条件列表 select 字段列表
order by 排序字段列表 order by 排序字段列表
limit 分页参数
dql-基本查询
- 查询多个字段
Select 字段1,字段2,…… from 表名;
Select * from 表名; (*代表全部)
- 设置别名
Select 字段1【as别名1】,字段2【as别名2】… from表名;
例
查询 所有员工的工作地址,起别名
Select workaddress as‘工作地址’ from emp;(as可以省略)
- 去除重复记录
Select distinct 字段列表 from 表名;
Dql-条件查询
- 语法
Select 字段列表 from 表名 where 条件;
2.条件
例1,查询年龄在 15 (包含)岁到20(包含) 岁之间的员工信息
Select * from emp where 年龄 between 15 and 20; between 最小值 and最大值
例2,查询姓名为两个字的员工信息
Select * from emp where name like ‘_ _’; [一个下划线1个字符,%代表多个]
Dql-聚合函数
Max 、min、avg、count、sum
语法
Select 聚合函数(字段列表)from表名;
Dql-分组查询
1.语法
Select 字段列表 from表名 where 条件 group by 分组字段名 having分组过后过滤;
注意:Where 和having的区别 一个是分组之前过滤 一个是分组之后过滤,条件不同 where 不能对聚合函数进行判断,而having可以
执行顺序:where>聚合函数>having
排序查询
语法
Select 字段列表 from表名 order by 字段1,排序方式1,字段2 排序方式2;
Asc 默认升序
Desc 倒序
分页查询
Select 字段列表 from 表名 limt 起始索引,查询记录数;
注意
起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数
分页查询是数据库的方言 mysql是limit
如果查询的是第一页数据,起始索引可以省略,直接简写为limit0
Dcl-管理用户
创建用户 %代表任意主机
Create user ‘用户名’@‘主机名’IDENTIFED BY ’密码’;
用户修改密码
Alter user ‘用户名’‘主机名’identified with mysql_native_password by’新密码’
删除用户
Drop user ‘用户名’@‘主机名’;
权限控制 all 代表所有权限
- 查询权限
Show grants for ‘用户名’@‘主机名’;
- 授予权限
Grant 权限列表 on 数据库.表名 to ‘用户名’@‘主机名’;
- 撤销权限
Revoke 权限列表 on数据库.表名 from ‘用户名’@‘主机名’;
注意
多个权限之间,使用逗号分隔
授权时,数据库名和表名可以使用 * 代表所有
标签:数据库,列表,字段,表名,操作,查询,where,Select From: https://www.cnblogs.com/smile020420/p/16827541.html