MySQL5.7库、表结构、表字段的查询、更改操作
1.查询所有数据库
SHOW DATABASES;
2.查询库中所有表
写法1:
① USE [DATABASE_NAME];
② SHOW TABLES;
写法2:
SHOW TABLES FROM [DATABASE_NAME]
3. 查询表结构
写法1:
① USE [DATABASE_NAME];
② SHOW CREATE TABLE [TABLE_NAME];
写法2:
SHOW CREATE TABLE [DATABASE_NAME.TABLE_NAME];
4. 查询表所有字段
写法1:
① USE [DATABASE_NAME];
② SHOW COLUMNS FROM [TABLE_NAME];
写法2:
SHOW COLUMNS FROM [DATABASE_NAME.TABLE_NAME];
写法3:
① USE [DATABASE_NAME];
② SHOW FIELDS FROM [TABLE_NAME];
写法4:
SHOW FIELDS FROM [DATABASE_NAME.TABLE_NAME];
扩展:MySQL安装完成后,⼀般会有mysql库、information_schema库、test库等,⽽infomation_schema库中有⼀个表为COLUMNS 的表,这个表记录了所有数据库所有表的字段信息,因此可以通过这个表查询某个表的字段信息,但这样查的话会查出所有同名的表
写法5:
SELECT COLUMN_NAME, COLUMN_TYPE from information_schema.COLUMNS WHERE TABLE_NAME = '[TABLE_NAME]';
因此还可以约束所在库,例如
写法6:
SELECT COLUMN_NAME, COLUMN_TYPE from information_schema.COLUMNS WHERE TABLE_SCHEMA = '[DATABASE_NAME]' AND TABLE_NAME = '[TABLE_NAME]';
5. 查询表所有字段及详细信息
写法1:
① USE [DATABASE_NAME];
② SHOW FULL COLUMNS FROM [TABLE_NAME];
写法2:
SHOW FULL COLUMNS FROM [DATABASE_NAME.TABLE_NAME];
写法3:
① USE [DATABASE_NAME];
② SHOW FULL FIELDS FROM [TABLE_NAME];
写法4:
SHOW FULL FIELDS FROM [DATABASE_NAME.TABLE_NAME];
6. 查询表中所有索引
写法1:
① USE [DATABASE_NAME];
② SHOW INDEX FROM [TABLE_NAME];
写法2:
SHOW INDEX FROM [DATABASE_NAME.TABLE_NAME];
7. 查询MySQL系统环境变量
SHOW VARIABLES;
直接使⽤此语句查询结果⾮常多!
⽤此命令查询当前MySQL 默认编码集:进⼊MySQL后直接输⼊命令
SHOW VARIABLES LIKE 'CHARACTER_SET_DATABASE';
⽤此命令查询某个库的编码集:
① USE [DATABASE];
② SHOW VARIABLES LIKE 'CHARACTER_SET_DATABASE';
8. 查看当前连接数,root账号可以看到所有连接,普通账号只能看到⾃⼰的连接
SHOW PROCESSLIST;
9. 查询⽤户权限
SHOW GRANTS FOR [USER];
10.删除默认值,反引号(`)可加可不加
查看mysql索引ALTER TABLE myemployees.jobs ALTER `job_id` DROP DEFAULT;
11.设置默认值、如存在则覆盖默认值
ALTER TABLE myemployees.jobs ALTER `job_id` SET DEFAULT 0;
12.修改字段类型
ALTER TABLE myemployees.jobs MODIFY `job_id` INT(2);
ALTER TABLE myemployees.jobs CHANGE `job_id` `job_id` INT(2);
13.修改字段名字
ALTER TABLE myemployees.jobs CHANGE `job_id` `job_id_new` INT(2);
14.查看数据存放⽬录
show variables like '%datadir%';
15.查看当前数据库使⽤线程相关信息
show status like 'Threads%';
Thread_cached:The number of threads in the thread cache.
线程缓存中的线程数,代表mysql管理的线程池中还有多少可以被复⽤的资源
Thread_connected:The number of currently open connections.
当前打开的连接数,mysql当前连接数,等于show processlist
Thread_created:The number of threads created to handle connections.
为处理连接⽽创建的线程数,代表新创建的thread,如果thread_created增⼤迅速,需要适当调⾼thread_cache_size Thread_running:The number of threads that are not sleeping.
未睡眠的线程数,即此时真正运⾏的线程数,如果是等于1的话,⼀般就是调⽤show status命令本⾝占⽤的线程16.修改索引名称
ALTER TABLE table_name RENAME INDEX old_index_name TO new_index_name;
17.修改表的编码
ALTER TABLE `jobs` CONVERT TO CHARACTER SET utf8mb4;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。