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.删除默认值,反引号(`)可加可不加

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;

MySQL5.7 库、表结构、表字段的查询、更改操作的更多相关文章

  1. 批量获取oracle的表和表字段注释【原】

    批量获取oracle的表和表字段注释 --用户表注释表 SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME LIKE 'WEB_ISC_%'; --显示指 ...

  2. linux mysql-workbench 创建与正式库表结构一样的表

    先在本地创建数据库 字符集选择这个 创建数据库成功 创建与正式库一样的表 step1: 连接正式库,找到要生成的表,导出创建表的sql语句 step2: 找到本地数据库,选择表,在sql执行区域复制s ...

  3. laravel 同数据表字段比较查询和状态不正规排序

    今天写群组推荐接口,要求未满的群 ( 群最大人数字段maxusers, 群人数字段affiliations_count 都在群组表中),官方,热门(普通群0 ,官方1,热门2 ) 排序的群 同表字段比 ...

  4. MySql数据库中,判断表、表字段是否存在,不存在就新增

    本文是针对MySql数据库创建的SQL脚本,别搞错咯. 判断表是否存在,不存在就可新增 CREATE TABLE IF NOT EXISTS `mem_cardtype_resource` ( ... ...

  5. [sql] 同库表(结构)的备份和sql聚合&navicat使用

    同库表的备份-赋值表结构和数据SQL语句 参考 有时候我们处理某个表时,需要先备份下这个表到当前这个库,然后再执行sql. 站在sql角度,就无需在mysqldump或者诸如导出sql的方式来备份了. ...

  6. 判断mysql数据库表和表字段是否存在

    1.判断数据库表是否存在, // mysqlSELECT table_name FROM information_schema.tables WHERE table_name=#{tableName, ...

  7. SQL Server 联表字段合并查询

    经常遇到统计报表中,子表记录合并为一个字段的情况.例如:省表中各省经济水平前五的城市统计. 有如下两表:dbo.省 和 dbo.市 (好吧,你可能会吐槽为什么用中文表名,其实我是为了方便查找替换) 这 ...

  8. 对比库表结构,生成SQL

    网上找了一圈对比库的工具,能手工生成差别的SQL的工具没有,改造了一下网上的sql 1, 获取字段名的类型 create FUNCTION [dbo].[getColType](@tab varcha ...

  9. SQLServer查询所有库表结构信息

    1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FR ...

随机推荐

  1. python 使用@property 操作属性时,报“RecursionError:maximun recursion depth exceeded”

    使用@property获取和修改属性,出现报错"RecursionError:maximun recursion depth exceeded",超过了最大的递归深度 原因: 方法 ...

  2. Centos7上传文件和下载文件命令

    https://www.cnblogs.com/patrick-yeh/p/12922829.html 使用工具:SecureCRT 或 Xshell 步骤一:安装lrzsz软件,root权限下.安装 ...

  3. [Win32] UAC用户账户控制 (提权)

    最近写程序时遇到一个问题,就是当一个程序需要管理员权限才能正常运行该怎么办? 通过查阅多方资料,我总结出来几个比较实用的办法(每种办法实现方法不同,同时功能上也有一些小小的差异) 方法一(批处理脚本) ...

  4. Go语言系列之标准库os

    os包提供了操作系统的系列函数,这些接口不依赖平台.设计为Unix风格的,错误处理是go风格的:调用失败会返回错误值而非错误码.通常错误值里包含更多信息. os包的接口在所有操作系统中都是一致的.非公 ...

  5. Python面向对象时最常见的3类方法

    为了节省读友的时间,先上结论(对于过程和细节感兴趣的读友可以继续往下阅读,一探究竟): [结论] 类中定义的方法类型 关键词 本质含义 如何定义 如何调用 使用场景举例 实例方法 一般无任何修饰时,默 ...

  6. CodeForces 519B A and B and Compilation Errors (超水题)

    这道题是超级水的,在博客上看有的人把这道题写的很麻烦. 用 Python 的话是超级的好写,这里就奉上 C/C++ 的AC. 代码如下: #include <cstdio> #includ ...

  7. 最新RabbitMQ安装指南2021.07

    一.RabbitMQ入门及安装 1.入门及安装 01 概述 简单概述: RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,支持多种客户端(语言),用于在分布式系统中存储消 ...

  8. Mysql的存储过程摘要

    MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编 ...

  9. [SWPUCTF 2018]SimplePHP

    [SWPUCTF 2018]SimplePHP 知识点 1.PHP反序列化入门之phar 2.反序列化魔术方法 __construct()//当一个对象创建时被调用 __destruct() //当一 ...

  10. 【pwn】DASCTF Sept 九月赛

    [pwn]DASCTF Sept 月赛 1.hehepwn 先查看保护,栈可执行,想到shellcode 这题需要注意shellcode的写法 拖入ida中分析 一直以为iso scanf不能栈溢出, ...