文章目录
一、SQL语句概述
1.1 SQL语言
- Structured Query Language的缩写,即结构化查询语言
- 关系型数据库的标准语言
- 用于维护管理数据库
包括数据查询、数据更新、访问控制、对象管理等功能
1.2 SQL分类
-
DDL:数据定义语言
(Data Definition Language,数据定义语言):用来建立数据库、数据库对象和定义字段,如 CREATE、 ALTER、DROP。 -
DML:数据操纵语言
(Data Manipulation Language,数据操纵语言):用来插入、删除和修改数据库中的数据,如 INSERT、 UPDATE、 DELETE。 -
DQL:数据查询语言
(Data Query Language,数据查询语言):用来查询数据库中的数据,如 SELECT。 -
DCL:数据控制语言
(Data Control Language,数据控制语言):用来控制数据库组件的存取许可、存取权限等,如 COMMIT、ROLLBACK、 GRANT、REVOKE。
二、mysql的常用命令
2.1 显示引擎
mysql> show engines;
2.2 克隆表
mysql> create table my like record;
mysql> insert into my select * from record;
三、SQL分类语言用法
3.1 DDL的语法
3.1.1 创建新的数据库
mysql> create database aaa(数据库名);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201223154254710.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MDM0NDgyMA==,size_16,color_FFFFFF,t_70)
3.1.2 创建新的表
mysql> use aaa;
mysql> create table users(user_name char(64) not null primary key, user_passwd varchar(64) default '');
3.1.3 修改一个数据表结构
mysql> use aaa;
mysql> alter table users add column user_grants varchar(64);
3.1.4 创建一个临时数据表
mysql> create temporary table zl(id int(3) not null, name varchar(16) not null);
3.1.5 删除一个数据表
mysql> drop table aaa.users;
3.1.6 删除一个数据库
mysql> drop table aaa.users;
3.2 DML
3.2.1 插入数据记录
方式一:mysql> insert into users(user_name,user_passwd) values('zhangsan','123456');
方式二:mysql> insert into users values('lisi',PASSWORD('123456'));
3.2.2 修改数据记录
mysql> update aaa.record set age=19 where name='张三';
3.2.3 修改数据库密码
mysqladmin -uroot -p123456 password 'abc123'
3.2.4 删除数据库记录
mysql> delete from aaa.record where name='张三';
3.3 DQL
3.3.1 查询数据记录
3.4 DCL
3.4.1 授予权限
格式:mysql> grant 权限列表 on 数据库名.表名 to 用户名@来源地址 [identity by '密码']
mysql> grant select on *.* to 'lisi'@'localhost' identified by '123456';
mysql> flush privileges; # 刷新权限
切换到用户主机来查询权限:
3.4.2 查看权限
mysql> show grants for 'lisi'@'localhost';
3.4.3 撤销权限
mysql> revoke select on *.* from 'lisi'@'localhost';