CH07-运维语句

  • DDL(Data Definition Languages)语句
    • 数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。
  • DML(Data Manipulation Language)语句
    • 数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和select 等。(增添改查)
  • DCL(Data Control Language)语句
    • 数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

DDL

# mysql -uroot -p

CREATE USER           #创建用户
CREATE DATABASE       #创建数据库
CREATE TABLE          #创建表
CREATE VIEW           #创建视图
CREATE INDEX          #创建索引
CREATE TRIGGER        #创建触发器
CREATE EVENT          #创建事件
CREATE PROCEDURE      #创建存储过程
CREATE FUNCTION       #创建自定义函数

创建用户

CREATE USER 'bingwang'@'192.168.0.10';

创建数据库

CREATE DATABASE db_name;
CREATE DATABASE test_db DEFAULT CHARSET utf8mb4;

DROP DATABASE IF EXISTS test_db;

创建表

SHOW CREATE TABLE tbname;

CREATE TABLE t_test (
     id INT NOT NULL AUTO_INCREMENT,
     name VARCHAR(50),
     PRIMARY KEY(id)
) ENGINE = InnoDB DEFAUL CHARSET = utf8mb4;

DROP TABLE IF EXISTS t_test;

复制表

# 仅结构
CREATE TABLE newbook2 LIKE newbook;
CREATE TABLE newbook3 SELECT * FROM newbook WHERE 1=2;

# 结构+数据
CREATE TABLE newbook4 SELECT * FROM newbook;

# 部分数据
CREATE TABLE newbook5 SELECT id,girl_name FROM newbook where id=1;

# 仅部分字段不含数据
CREATE	TABLE newbook6 SELECT id,girl_name from newbook where 1=2;

修改表名

ALTER TABLE book RENAME TO newbook;

修改列名

ALTER TABLE book CHANGE COLUMN girl_anme girl_name  varchar(10);

修改列类型

ALTER TABLE book MODIFY COLUMN authorId bigint(20);

添加新列

ALTER table book ADD COLUMN gender tinyint(4) AFTER name;

删除列

ALTER TABLE book	DROP COLUMN gender;

创建视图

SHOW CREATE VIEW test_view;
CREATE VIEW test_view AS SELECT * FROM t_test WHERE id IN (1,2);

创建索引

CREATE UNIQUE INDEX name_ind ON t_test(name) USING BTREE;
CREATE INDEX name_index ON t_test(name(5));

创建触发器

CREATE TRIGGER trigger_name trigger_time trigger_event FOR EACH ROW 
BEGIN 
  trigger_stmt 
END;

创建存储过程

CREATE PROCEDURE procedure_name([proc_parameter[,...]])
BEGIN
  ...存储过程体
END

创建自定义函数

CREATE FUNCTION function_name([func_parameter[,...]])
RETURNS type
BEGIN
...函数体
END