SQL是Structured Query Language(结构化查询语言)的简写。
Structured发音
SQL 是关系型数据库管理系统的标准语言,如Oracle、MySQL、Microsoft SQL Server。
DDL是Data Definition Language(数据定义语言)的简写。
主要包括数据库和表字段等的的创建、修改、删除
Definition发音
关键字:create、drop、alter
示例:
-- MySQL数据库
-- 创建数据库, demo_one是数据库名,utf8mb4是编码格式,utf8mb4_general_ci是排序规则
create database demo_one default charset utf8mb4 collate utf8mb4_general_ci;
-- 也可以不加编码格式,和排序规则
create database demo_one;
-- 查看所有数据库
show databases;
-- 删除数据库
drop database demo_one;
-- 创建表
create table if not exists t_one (
id bigint(20) UNSIGNED NOT NULL auto_increment primary key COMMENT '主键',
name varchar(64) COMMENT '名称'
) engine=innoDB default charset=utf8mb4;
-- 删除表
drop table if exists t_one;
-- 新增表字段
alter table t_one add column age tinyint(3) comment '年龄';
-- 删除表字段
alter table t_one drop column age;
-- 修改表字段
alter table t_one modify column age int(10) comment '仙人寿命';
-- 查看表定义
desc t_one;
show columns from t_one;
DML是Data Manipulation Language(数据操作语言)的简写。
主要包括表数据的增删改。
Manipulation发音
关键字:insert into、update 、delete
示例:
-- MySQL数据库
-- 新增一条数据
insert into t_one (name,age) value ('张三', 100);
-- 修改一条数据
update t_one set age = 1000 WHERE name = '张三';
-- 删除一条数据
delete from t_one where name = '张三';
DCL是Data Control Language(数据控制语言)的简称。
主要包括用户、权限、密码等操作
关键字:create user、grant、revoke
示例
-- MySQL数据库
-- 创建用户
CREATE USER `zhangsan`@`127.0.0.1` IDENTIFIED BY 'zhangsan';
-- 查看用户
select user from mysql.user;
-- 修改用户密码
ALTER USER `zhangsan`@`127.0.0.1` IDENTIFIED BY 'fawaikuangtu';
-- 删除用户
drop user `zhangsan`@`127.0.0.1`;
-- 授予权限,把demo_one数据库中t_one表的创建权限授予zhangsan
GRANT CREATE ON demo_one.t_one TO `zhangsan`@`127.0.0.1`;
-- 查看权限
show grants for `zhangsan`@`127.0.0.1`;
-- 删除权限
revoke CREATE on demo_one.t_one FROM `zhangsan`@`127.0.0.1`;
DQL是Data Query Language(数据查询语言)的简称。
主要用于查询语句
关键字:select
示例:
-- MySQL数据库
-- 查看数据库版本
select version();
-- 查看当前数据库
select database();
-- 查看当前时间
select now();
-- 查看t_one表的所有字段
select * from t_one;