一.查询数据库的基本信息:
1. /* 查询数据库 ‘boss’ 所有表及注释 */
SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='boss';
示例:
2. /* 查询数据库 ‘boss’ 下表 ‘org_pessimisticlock’ 所有字段注释 */
SELECT COLUMN_NAME,column_comment FROM INFORMATION_SCHEMA.Columns WHERE table_name='org_pessimisticlock' AND table_schema='boss'
示例:
3.
/* 一次性查询数据库 "boss" 下表注释以及对应表字段注释 */
SELECT t.TABLE_NAME,t.TABLE_COMMENT,c.COLUMN_NAME,c.COLUMN_TYPE,c.COLUMN_COMMENT FROM information_schema.TABLES t,INFORMATION_SCHEMA.Columns c WHERE c.TABLE_NAME=t.TABLE_NAME AND t.`TABLE_SCHEMA`='boss'
示例:
4. /* 查询缓存相关信息*/
select @@query_cache_type ; -- 查询mysql缓存开启状态
select @@query_cache_size ; -- 查询mysql缓存总大小
select @@query_cache_limit ; -- 查询记录集缓存限制
二.常用的修改表结构的语句
因为我们正常提交 sql语句时,均要求一次性提交完成,故同时提供了批量新增/修改/删除的功能:批量操作时,可以节省数据库的资源。
1. 新增表字段
a.单个新增:alter table t_student add sex varchar(10) comment '性别' ;
b.批量新增:alter table t_student add (age varchar(10) comment '年龄' , grade_id varchar(10) comment '班级') ;
2. 删除表字段
a.单个删除:alter table t_student drop column sex;
b.批量删除:alter table t_student drop column age,drop column grade_id ;
3. 修改字段类型/字段名称
a.单个修改:alter table t_student change name student_name VARCHAR(100) not null ;
b.批量修改:alter table t_student change student_name student_name VARCHAR(150) null ,change age student_age VARCHAR(8) null ;
c.修改字段长度:alter table t_student modify column name varchar(200);
三.复制老表中的数据到新表
创建新表,复制老表中的数据到新表:
create table t_student_backup201902 select * from t_student;
新表已存在,复制老表数据进新表:
select * into 目标表名 from 源表名;