MySQL数据库常用语法(8.0.13)

创建数据库:

CREATE DATABASE xxx;   # xxx为所要创建的数据库名字

查看已存在的数据库:

SHOW DATABASES;

选择已知存在的数据库:

USE xxx;   # xxx为要选择的数据库名字
注意:
    使用之后不能对其他数据库以及其他的数据中的数据表操作,只能对自身数据库操作。但可以使用 SHOW DATABASES 返回到根目录下进行对其他数据库的操作。

删除已知存在的数据库:

DROP DATABASE xxx;  # xxx为要删除数据库的名字

删除不知是否存在的数据库:

DROP DATABASE IF EXISTS xxx;   # xxx如果存在将删除该数据库,否则不作任何操作

退出(服务器仍然开启):

Exit 

查看支持的存储引擎:

SHOW ENDINES;
或者:
SHOW VARIABLES LIKE ‘have%’;

查看默认存储引擎:

SHOW VARIABLES LIKE '%storage_engine%';
或者:
SHOW VARIABLES LIKE '%engine%';

查看MySQL帮助文档支持的目录列表:

HELP contents;

显示警告:

SHOW WARNINGS;

创建表:

CREATE TABLE xxx(        # 建议xxx命名为t_xxx或者tab_xxx
字段名  数据类型,
字段名  数据类型,
.
.
.
字段名  数据类型
);

查看表的定义信息:

DESCRIBE xxx ;      # xxx为已存在的表名
或者
DESC xxx;           # xxx为已存在的表名

查看表的详细信息:

SHOW CREATE TABLE xxx;       # xxx为已存在的表名    

删除表:

DROP TABLE xxx ;         # xxx为数据库已存在的表名

修改表名:

ALTER TABLE old_name RENAME new_name;    # old_name为已存在的表名,new_name为新名字

在表的最后一个位置增加字段:

ALTER TABLE xxx
      ADD 属性名 数据类型;

在表的第一个位置增加字段:

ALTER TABLE xxx
     ADD 属性名 数据类型 FIRST;

在表的某个位置增加字段:

ALTER TABLE xxx
    ADD 属性名 数据类型
        AFTER  表中已存在属性名 ;  

删除某个字段:

ALTER TABLE xxx
   DROP 属性名;

修改某个字段数据类型:

ALTER TABLE xxx
    MODIFY 属性名 修改后的数据类型;

修改某个字段的名字:

ALTER TABLE xxx
   CHANGE 旧属性名 新属性名 旧数据类型;

同时修改某个字段的名字和数据类型:

ALTER TABLE xxx
   CHANGE 旧属性名 新属性名 新数据类型;

修改字段的顺序到第一个:

ALTER TABLE xxx
   MODIFY 属性 数据类型 FIRST;

修改字段顺序到任意位置:

ALTER TABLE xxx
   MODIFY 属性1 数据类型 AFTER 属性2;   # 此命令将属性1这个字段放到属性2下一个位置

完整性约束:

NOT NULL           # 约束字段的值不能为空
DEFAULT 默认值      # 设置字段的默认值
NNIQUE KEY /UNIQUE        # 设置字段的值是唯一
PRIMARY KEY         # 约束字段为主键
AUTO_INCREMENT    # 设置字段值自动增加
CONSTRAINT uk_字段名/pk_字段名/fk_字段名 UNIQUUE(字段名)/PRIMARY KEY(字段名)/FOREIGN KEY(字段名)     # 给约束设置名字

# 设置外键约束
CONSTRAINT fk_字段名 FOREIGN KEY(子表中设置为外键的字段名);  # fk_字段名为外键约束名
    REFERENCES 父表名(父表中设置为主键的字段名)

删除主键约束:

ALTER TABLE xxx
DROP PRIMARY KEY;

添加主键约束:

ALTER TABLE xxx
ADD PRIMARY KEY(要设为主键的字段名);

创建表时创建普通索引:

INDEX/KEY 索引名(索引关联的字段名);

在已存在的表上创建普通索引:

CREATE INDEX 索引名
       ON 表名(索引关联的字段名);

通过ALTER TABLE 创建普通索引:

ALTER TABLE xxx
   ADD INDEX/KEY 索引名(索引关联的字段名);

创建表时创建唯一索引:

UNIQUE INDEX/KEY 索引名(索引关联的字段名);

在已存在的表上创建唯一索引:

CREATE UNIQUE INDEX 索引名
    ON 表名(索引关联的字段名);

通过ALTER TABLE创建唯一索引:

ALTER TABLE xxx
    ADD UNIQUE INDEX/KEY 索引名(索引关联的字段名);

删除索引:

DROP INDEX 索引名字
   ON xxx;            # xxx为表名

创建视图:

CREATE VIEW view_xxx
  AS
     SELECT 字段名1,字段名2 FROM 表名;

查看视图名:

SHOW TABLES;

查看视图详细信息:

SHOW TABLE STATUS;

查看视图定义信息:

SHOW CREATE VIEW viewname;

查看视图设计信息:

DESC viewname;

删除视图:

DROP VIEW viewname;

修改视图:

CREATE OR REPLACE VIEW view_xxx
  AS
     SELECT 新字段名 FROM 表名;
或者:
ALRER VIEW view_xxx
   AS
     SELECT 新字段名 FROM 表名;

创建触发器:

CREATE TRIGGER tri_xxx
    BEFORE/AFTER 触发事件
       ON table_name FOR EACH ROW 激活触发器后被执行的语句; # table_name为触发事件操作表的名字

查看触发器:

SHOW TRIGGERS;
或者:
USE information_schema;
SELECT * FROM TRIGGERS WHERE TRIGGERS_NAME = 'name' \G

删除触发器:

DROP TRIGGER tri_name;

插入一条部分数据记录:

INSERT INTO table_name(字段名1,字段名2) 
   VALUES(value1,value2);

插入一条完整数据记录:

INSERT INTO table_name VALUES(value1,value2);

插入多条部分数据记录:

INSERT INTO table_name(字段名1,字段名2) 
   VALUES(value11,value12),
         (value21,value22),
          ......;

插入多条完整数据记录:

INSERT INTO table_name 
    VALUES(value11,value12),
          (value21,value22),
           ......;

插入查询结果:

INSERT INTO table1_name(字段名11,字段名12) 
  SELECT (字段名21,字段名22)
    FROM table2_name;

更新部分数据记录:

UPDATE table_name
     SET 字段名1 = value1,
         字段名2 = value2,
     WHERE CONDITION;

更新全部数据记录:

UPDATE table_name
     SET 字段名1 = value1,
         字段名2 = value2;

删除部分数据记录:

DELETE FROM table_name
   WHEN CONDITION

删除全部数据记录:

DELETE FROM table_name

简单查询所有字段数据:

SELECT * FROM table_name;

简单查询指定字段数据:

SELECT 字段名1,字段名2,字段名3 FROM table_name;

简单避免重复数据查询:

SELECT DISTINCT 字段名1,字段名2 FROM  table_name;

猜你喜欢

转载自blog.csdn.net/weixin_40283816/article/details/85107182