> 文档中心 > Mysql 的三大语言结构和数据类型 -- 示例

Mysql 的三大语言结构和数据类型 -- 示例

Mysql 的三大语言结构和数据类型 -- 示例

  • 一、DDL(Data Definition Language):数据库定义语言
    • 1、CREATE TABLE:创建数据库表
    • 2、ALTER TABLE:更改表结构、添加、删除、修改列长度
    • 3、DROPTABLE:删除表
  • 二、DML(datamanipulationlanguage):数据库操纵语言
    • 1、INSERT:添加数据到数据库中
    • 2、UPDATE:修改数据库中的数据
    • 3、DELETE:删除数据库中的数据
    • 4、SELECT:选择(查询)数据
  • 三、DCL:数据库控制语言
    • 1、GRANT:授予访问权限
    • 2、REVOKE:收回权限
    • 3、 删除用户:drop user
    • 4、COMMIT:提交事务处理
    • 5、ROLLBACK:事务处理回退

一、DDL(Data Definition Language):数据库定义语言

比如创建、修改或删除数据库对象,包括如下SQL语句:created,alter,drop

1、CREATE TABLE:创建数据库表

2、ALTER TABLE:更改表结构、添加、删除、修改列长度

3、DROPTABLE:删除表

-- 创建表create table if not EXISTS tbl_aom_alarm_metadata(     alarm_id varchar(64) not null primary key COMMENT "告警id", alarm_type varchar(64) COMMENT "告警类型", event_name varchar(200) not null comment "事件名称", event_type varchar(64) comment "事件类型--级别", resource_priver varchar(40) COMMENT  "告警源", resource_id varchar(3000) comment "资源id")ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT  = "告警详情表"
-- 为表中添加字段ALTER  TABLE tbl_aom_alarm_metadata add (create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment "创建时间",update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP comment "修改时间");-- 为表中添加主键ALTER  TABLE tbl_aom_alarm_metadata add  constraint aom_alarm_id primary  key(alarm_id);-- 为表中删除字段ALTER  TABLE tbl_aom_alarm_metadata DROP create_time;-- 为表中删除主键ALTER  TABLE tbl_aom_alarm_metadata DROP primary  key;
-- 删除表drop table tbl_aom_alarm_metadata;

二、DML(datamanipulationlanguage):数据库操纵语言

1、INSERT:添加数据到数据库中

2、UPDATE:修改数据库中的数据

3、DELETE:删除数据库中的数据

4、SELECT:选择(查询)数据

-- 不用列名,需要将列中所有的列都插入值insert into tbl_aom_alarm_metadata VALUES('202202280101110005','alarm','CPU负载过高','Major','主机','CPU负载过高,spaseName=Application',CURRENT_TIME,CURRENT_TIME),('202202280101110006','alarm','内存不足','Major','主机','内存不足,spaseName=Application',CURRENT_TIME,CURRENT_TIME);-- 使用列名,需要需要插入的列插入列中insert into tbl_aom_alarm_metadata(alarm_id,alarm_type,event_name,event_type,resource_priver,resource_id) VALUES('202202280101110003','alarm','CPU负载过高','Major','主机','CPU负载过高,spaseName=Application'),('202202280101110004','alarm','内存不足','Major','主机','内存不足,spaseName=Application');update tbl_aom_alarm_metadata set event_name = '拉取镜像失败',resource_id='拉取镜像失败,spaseName=Application' where alarm_id = '202202280101110004';delete from tbl_aom_alarm_metadata  where alarm_id ='202202280101110006';select * from tbl_aom_alarm_metadata where event_name='内存不足';

三、DCL:数据库控制语言

1、GRANT:授予访问权限

```sql-- 注意:此用户只能在制定的IP上使用 所有的IP要用%-- create user 用户名@'IP地址' identified by '密码';create user springboot@localhost  identified by 'zjhua';-- 注意:所有的数据库就用*.*,所有的权限就用all或者all privileges-- grant 权限1,权限2,...... on 数据库名.* to 用户名 @IP地址或者%-- grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;-- 添加权限(和已有权限合并,不会覆盖已有权限)-- GRANT Insert ON `your database`.* TO `user`@`host`;-- all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等grant select on springboot_demo.* to "springboot"@"localhost";

当创建用户sptingboot 用户后,只授予select权限;当执行update时提示权限不足

2、REVOKE:收回权限

-- 删除权限 revoke 权限1,权限2,...... on 数据库名.*from 用户名 @IP地址或者%REVOKE update ON springboot_demo.* FROM  "springboot"@"localhost";

Mysql 的三大语言结构和数据类型 -- 示例

3、 删除用户:drop user

-- 查看用户权限 show grants for 'springboot'@'localhost'; --  drop user ‘用户名’@’允许其登录的地址’; drop user 'springboot'@'localhost';-- 对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。 flush privileges;

Mysql 的三大语言结构和数据类型 -- 示例

4、COMMIT:提交事务处理

 -- 开始事务 start TRANSACTION; insert into t_user(phone,name,uuid,pwd) values("12345678913","蛛儿","asdfghjkldfgbhnjm25468543546","125346854135456gujkftyfgujf"),("12345678914","阿离","asdfghjkldfgbhnjm25468543546","125346854135456gujkftyfgujf"); -- 提交事务 COMMIT;

5、ROLLBACK:事务处理回退

 -- 开始事务 start TRANSACTION; insert into t_user(phone,name,uuid,pwd) values("12345678913","蛛儿","asdfghjkldfgbhnjm25468543546","125346854135456gujkftyfgujf"),("12345678914","阿离","asdfghjkldfgbhnjm25468543546","125346854135456gujkftyfgujf"); -- 回滚事务 ROLLBACK;

注:关于事务的介绍,参考:https://blog.csdn.net/w_linux/article/details/79666086

彭州一中