本文主要对前面讲到的
MySQL
四种语言的总结
数据定义语言DDL
主要作用是创建、删除和修改库表结构
库操作
对数据库的操作主要有
- 查看所有数据库
show databaes;
- 切换数据库
use databases;
- 创建数据库
create database name;
- 删除数据库
drop database name;
表操作
- 创建表
create table 表名()
- 查看表
show tables;
- 查看表的结构
desc tablename;
- 查看创建表的SQL语句
show create table tablename;
- 删除表
drop table tablename;
- 修改字段信息
alter table 表名 modify 字段名 varchar(20) not null;
- 修改字段名字
alter table 表名 change name user_name varchar(50) not null;
- 添加字段
alter table 表名 add password char(30) not null comment("password");
- 在指定位置添加字段
after
- 删除某个字段
alter table 表名 drop password;
- 修改表名
alter table user rename (to) users
(将user表改为users)
# 创建user表:6种字段+1个主键
mysql>create table user(
id int(10) unsigned not null auto_increment comment 'ID',
user_name varchar(20) not null comment 'user_name',
email varchar(50) not null comment 'user_email',
age tinyint unsigned not null comment 'user_age',
fee decimal(10,2) not null default 0.00 comment 'jiner',
created_at timestamp not null comment 'created_time',
primary key(id)
);
数据操作语言DML
数据操作语言主要是对表中的记录进行操作的语言:增删改
- 增
insert into
,其实就是向表中插入数据信息
insert into user (字段1, 字段2, .....) values (值1, 值2, ....)
- 改
update
,就是更新表中的数据
update user set 字段1=值1, 字段2=值2,.... where 条件
- 删除表,包含两种
delete
和truncate
-
delete
删除以后,如果重启msyql
插入数据,id
在之前的基础上增减 -
truncate
清空之后,id
从1开始
-
DCL 数据控制语言
数据控制语言主要是对数据中的root账户和普通账户的创建及权限进行操作
root账户
- 查看可登录MySQL的账户,默认进入mysql数据库中的user表
select user,host from user;
- 修改密码
update user set password=password("admin") where user="root";
flush privileges;
- 忘记密码,跳过验证权限进行修改:
skip -grant-tables
普通账户
- 创建普通用户
create user 用户名@ip地址 identitied by" 密码" ;
- 授权:一定是root账户进去以后的操作
grant select,insert, update on 数据库.* to 用户@ip地址;
- 撤销权限
revoke
revoke select,insert, update on 数据库.* to 用户@ip地址;
- 查看权限
show grants for 用户@ip地址;
- 删除用户
drop user 用户@ip地址;
DQL数据查询语言
- 普通查询
select * from user;
, 查询所有 - 连接查询
concat
,还可以自定义列名或者带上连接符- concat...as...
- concat_ws("==",字段1, 字段2,...)
-模糊查询like
- 查询时进行排列:默认是升序
asc
,降序是desc
- 聚合函数:总记录count、总和sum、平均值/最大/最小值
- 分组查询group by
- 内连接、左右连接
- 联合查询
union all
- 子查询
语句1 where id in (语句2);
- 限制查询条数
limit