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.删除默认值,反引号(`)可加可不加
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 库、表结构、表字段的查询、更改操作的更多相关文章
- 批量获取oracle的表和表字段注释【原】
批量获取oracle的表和表字段注释 --用户表注释表 SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME LIKE 'WEB_ISC_%'; --显示指 ...
- linux mysql-workbench 创建与正式库表结构一样的表
先在本地创建数据库 字符集选择这个 创建数据库成功 创建与正式库一样的表 step1: 连接正式库,找到要生成的表,导出创建表的sql语句 step2: 找到本地数据库,选择表,在sql执行区域复制s ...
- laravel 同数据表字段比较查询和状态不正规排序
今天写群组推荐接口,要求未满的群 ( 群最大人数字段maxusers, 群人数字段affiliations_count 都在群组表中),官方,热门(普通群0 ,官方1,热门2 ) 排序的群 同表字段比 ...
- MySql数据库中,判断表、表字段是否存在,不存在就新增
本文是针对MySql数据库创建的SQL脚本,别搞错咯. 判断表是否存在,不存在就可新增 CREATE TABLE IF NOT EXISTS `mem_cardtype_resource` ( ... ...
- [sql] 同库表(结构)的备份和sql聚合&navicat使用
同库表的备份-赋值表结构和数据SQL语句 参考 有时候我们处理某个表时,需要先备份下这个表到当前这个库,然后再执行sql. 站在sql角度,就无需在mysqldump或者诸如导出sql的方式来备份了. ...
- 判断mysql数据库表和表字段是否存在
1.判断数据库表是否存在, // mysqlSELECT table_name FROM information_schema.tables WHERE table_name=#{tableName, ...
- SQL Server 联表字段合并查询
经常遇到统计报表中,子表记录合并为一个字段的情况.例如:省表中各省经济水平前五的城市统计. 有如下两表:dbo.省 和 dbo.市 (好吧,你可能会吐槽为什么用中文表名,其实我是为了方便查找替换) 这 ...
- 对比库表结构,生成SQL
网上找了一圈对比库的工具,能手工生成差别的SQL的工具没有,改造了一下网上的sql 1, 获取字段名的类型 create FUNCTION [dbo].[getColType](@tab varcha ...
- SQLServer查询所有库表结构信息
1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FR ...
随机推荐
- python 使用@property 操作属性时,报“RecursionError:maximun recursion depth exceeded”
使用@property获取和修改属性,出现报错"RecursionError:maximun recursion depth exceeded",超过了最大的递归深度 原因: 方法 ...
- Centos7上传文件和下载文件命令
https://www.cnblogs.com/patrick-yeh/p/12922829.html 使用工具:SecureCRT 或 Xshell 步骤一:安装lrzsz软件,root权限下.安装 ...
- [Win32] UAC用户账户控制 (提权)
最近写程序时遇到一个问题,就是当一个程序需要管理员权限才能正常运行该怎么办? 通过查阅多方资料,我总结出来几个比较实用的办法(每种办法实现方法不同,同时功能上也有一些小小的差异) 方法一(批处理脚本) ...
- Go语言系列之标准库os
os包提供了操作系统的系列函数,这些接口不依赖平台.设计为Unix风格的,错误处理是go风格的:调用失败会返回错误值而非错误码.通常错误值里包含更多信息. os包的接口在所有操作系统中都是一致的.非公 ...
- Python面向对象时最常见的3类方法
为了节省读友的时间,先上结论(对于过程和细节感兴趣的读友可以继续往下阅读,一探究竟): [结论] 类中定义的方法类型 关键词 本质含义 如何定义 如何调用 使用场景举例 实例方法 一般无任何修饰时,默 ...
- CodeForces 519B A and B and Compilation Errors (超水题)
这道题是超级水的,在博客上看有的人把这道题写的很麻烦. 用 Python 的话是超级的好写,这里就奉上 C/C++ 的AC. 代码如下: #include <cstdio> #includ ...
- 最新RabbitMQ安装指南2021.07
一.RabbitMQ入门及安装 1.入门及安装 01 概述 简单概述: RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,支持多种客户端(语言),用于在分布式系统中存储消 ...
- Mysql的存储过程摘要
MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编 ...
- [SWPUCTF 2018]SimplePHP
[SWPUCTF 2018]SimplePHP 知识点 1.PHP反序列化入门之phar 2.反序列化魔术方法 __construct()//当一个对象创建时被调用 __destruct() //当一 ...
- 【pwn】DASCTF Sept 九月赛
[pwn]DASCTF Sept 月赛 1.hehepwn 先查看保护,栈可执行,想到shellcode 这题需要注意shellcode的写法 拖入ida中分析 一直以为iso scanf不能栈溢出, ...