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核心编程第3版中文版》(高清).PDF,免费无需任何解压密码
链接:https://pan.baidu.com/s/18d3xinNX1oH5q8zpB10ABA 提取码:dx7h
- hisql 与sqlsugar,freesql 数据插入性能测试
hisql与目前比较流行的ORM框架性能测试对比 hisql 一直定位为新一代的ORM框架 为低代码开发而生 测试数据数据库为sqlserver数据库 测试源码地址hisql与sqlsugar fre ...
- JSch Algorithm negotiation fail
https://stackoverflow.com/questions/30846076/jsch-algorithm-negotiation-fail As you can see, the ser ...
- gradle学习(一)
projects和tasks 任何一个Gradle构建都是由一个或者多个project组成 每个project都有多个tasks构成 每个task都代表了构建执行过程中的一个原子性操作.例如 编译 打 ...
- Mysql高性能优化
一.背景 最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久.原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语 ...
- 用 vite 构建项目,同时支持微前端
得益于 esbuild 的超高性能,vite 在诞生之初就备受关注,且一直保持着活跃的开发迭代.截至目前,vite 已经迭代到了 2.7.10 版本,各方面也基本具备了在生产使用的条件.这段时间,我在 ...
- ctfshow萌新 web1-7
ctfshow萌新 web1 1.手动注入.需要绕过函数inval,要求id不能大于999且id=1000,所以用'1000'字符代替数字1000 2.找到?id=" "处有回显 ...
- 简述ASP.NET网站开发步骤
新建解决方案 清除解决方案 重新生成解决方案 发布应用程序 设置配置文件 重命名配置文件 发布后生成的文件 IIS安装 安装完成后,输入http://localhost/出现 打开IIS 添加自己的网 ...
- Node内部架构图
1.Node内部架构图 先来看一下Node节点的内部实现架构图. 首先最上层入口是Restful风格和javaTcp风格的API入口,RestFul请求映射到处理器RestControl.JavaAp ...
- 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)
题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...