本文主要对前面讲到的MySQL四种语言的总结
数据定义语言DDL
数据操作语言DML
数据操作语言DCL
数据查询语言DQL
数据定义语言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