元数据库

information_schema 这个数据库存储着元数据。
它保存了MySQL服务器所有数据库的信息。 如数据库名,数据库的表,表栏的数据类型与访问权限等。 再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表, 每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema里面。

查询

元数据库 information_schema 同样支持 sql 查询。

  1. select * from information_schema.tables WHERE table_name="django_admin_log";

元数据的相关操作

查看表结构

desc tableName;

查看建表语句

show create tableName;

查看字段名

show columns from tableName;

查看 Mysql 版本

select version();

修改表名

rename table original_name to new_name

或者

alter table xxx rename xxx;

修改列名

alter table table_name change id auto_id bigint(20);

增加列

添加列, 可以指定添加到某项后面

alter table tableName add column columnName timestamp not null [after columnName2];
-- ([ ] 内可选)
// 例子
alter table worklist.core_account add `role` varchar(64);

增加索引

alter table third_interface_query_journal add key 
k_past_interface (interface_name, create_at);

删除列

alter table tableName drop column columnName;

删除表

drop table xxx

创建表

支持 emoji 编码

  1. 创建数据库的时候,选择utf8mb4字符集,它能够支持emoji编码

    常见问题

    最后 1 句不能有逗号

  2. mysql 创建表时,最后一行不能有逗号。(这不像 Python 那么随意)

    create table `xxx`(
    ....
    -- 如果这是括号内的最后一行,不要有逗号!!
    primary key (`id`)
    )