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 ...
随机推荐
- hisql 高级功能数据检测将错误数据拦截在系统外 一
hisql github源码下载 git clone https://github.com/tansar/HiSql.git 在设计第二范式数据库时经常会把可能重复的数据单独做一种表关联,但是在写入表 ...
- Word文档学习小练习链接
1. < Word2010初学> https://www.toutiao.com/i6487370439910752782/ 2. <Word2010格式化可爱的家乡> htt ...
- linux 安装 Logtash 同步mysql数据到Elasticsearch
官网下载Logtash 离线安装包 下载地址 https://www.elastic.co/cn/downloads/logstash 需要注意版本与es 对应 新建配置文件 新建文件夹 mkdir ...
- 详解__int128
前言 如果遇到 long long 开不下的情况,可以使用 __int128 来博一把! note :__int128 仅 \(64\) 位 \(GCC G++\) 支持,不在 \(C++\) 标准中 ...
- 【刷题-LeetCode】152 Maximum Product Subarray
Maximum Product Subarray Given an integer array nums, find the contiguous subarray within an array ( ...
- 实习之bii--在vsphere client 给esxi上的虚拟机增加U盘识别
esxi上安装虚拟机默认不包含U盘控制器,在服务器上插U盘也不会识别,所以要通过客户端登陆esxi管理为虚拟机增加U盘控制器,步骤如下: 1.首先登陆服务器的管理ip 2.选择一部虚拟机,进行编辑设置 ...
- gin框架中的同步异步
goroutine机制可以方便地实现异步处理 另外,在启动新的goroutine时,不应该使用原始上下文,必须使用它的只读副本 // 异步 func longAsync(context *gin.Co ...
- gorm中的基本查询
检索单个对象 GORM 提供了 First.Take.Last 方法,以便从数据库中检索单个对象.当查询数据库时它添加了 LIMIT 1 条件 // 获取第一条记录(主键升序) db.First(&a ...
- golang中的tcp编程
1. tcp server package main import ( "bufio" "fmt" "net" ) func main() ...
- LeetCode 每日一题 458. 可怜的小猪
题目描述 有 buckets 桶液体,其中 正好 有一桶含有毒药,其余装的都是水.它们从外观看起来都一样.为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断.不幸的是,你只有 m ...