data_length : 记录表的大小(单位字节) select concat(round(sum(data_length/1024*1024*1024),2),'G') as data from tables; 查看表的大小...DATA_LENGTH/1024*1024*1024),2),'G') as data from TABLES where table_schema='库名' and table_name='表名'; 查看指定的数据库大小
注意:上面查出来的并非文件的物理大小,删除数据后,INNODB并不会释放物理空间,需要使用OPTIMIZE TABLE对表优化。
查看数据库占用空间 SELECT CONCAT(ROUND((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/(1024*1024),2),'M') as 'Datebase Size...' FROM information_schema.TABLES where TABLE_SCHEMA='数据库名称'; 查看表占用空间 SELECT CONCAT(ROUND(SUM(DATA_LENGTH...1024*1024), 2), ' MB') AS 'Total Table Size' FROM information_schema.TABLES WHERE table_schema LIKE '数据库名称...1024*1024), 2), ' MB') AS 'Total Index Size' FROM information_schema.TABLES WHERE table_schema LIKE '数据库名称...+index_length)/(1024*1024),2),'M') AS'Total'FROM information_schema.TABLES WHERE table_schema LIKE '数据库名称
查看所有表的注释 SELECT table_name 表名, table_comment 表说明 FROM information_schema.TABLES WHERE table_schema = '数据库名...COLUMNS b ON a.table_name = b.TABLE_NAME WHERE a.table_schema = '数据库名' ORDER BY a.table_name 查询某表的所有字段的注释...column_comment 字段说明, column_type 字段类型, column_key 约束 from information_schema.columns where table_schema = '数据库名...' and table_name = '表名' ; 或者 show full columns from 表名; 查看表生成的DDL 注意表名不加单引号 show create table 表名; 新建表以及添加表和字段的注释
在文件系统中,MySQL将每个数据库保存为数据目录下的一个子目录。创建表时,MySQL会在数据库子目录下创建一个和表同名的.frm文件保存表的定义。...例如创建一个名为MyTable的表,MySQL会在MyTbale.frm文件中保存该表的定义。可以使用SHOW TABLE STATUS命令显示表的相关信息。...Data_length:对于MyISAM,Data_length是表数据文件的大小(字节)。对于InnoDB,Data_length是为聚簇索引分配的大约空间量(字节)。...Max_data_length:对于MyISAM,Max_data_length是表数据的最大容量。InnoDB中未使用。...Data_free:在MySQL 中是文件系统中未使用空间的值。换句话说,分配给表或分区但当前未被数据使用的空间量。它指示操作系统或 MySQL 服务器可能回收但尚未释放的空间量,也叫做数据碎片。
前言 在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。...再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表.../1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ ; 3,查看表使用大小 select concat(round...order by data_length desc, index_length desc; 3.查看指定数据库容量大小 例:查看mysql库容量大小 select table_schema as '数据库.../1024/1024, 2)) as '索引容量(MB)' from information_schema.tables where table_schema='mysql'; 4.查看指定数据库各表容量大小
所属专栏: MySQL 1....name varchar(20), author varchar(20), price decimal(10,2), category varchar(20) ); 查看表的结构...插入数据 要注意的是: 插入数据时,指定的字段顺序要和需要的值的顺序一致 字符串和日期型数据应该用引号引起来 插入字段的数据大小应该在规定范围内 在表名后指定要插入的列字段 insert...from exam; 查询的结果是一个表达式,例如,在查询命令中添加一个数值,每一列都会有这个数值 select id ,name ,10 from exam; 之后,可以通过as关键字来为查询结果中的列指定别名...chinese asc, english asc; 5.4 条件查询 5.4.1 比较运算符 先来看比较运算符 前面的大于等于这些符号和java中一样,就不多说了,而java中相等是用 "==" 表示的,mysql
,系统使用默认字符集:utf8,校验规则:utf_general_ci; 简单验证一下:创建一个数据库create database d1,然后去/var/lib/mysql/d1/db.opt查看:、...删除数据库drop database db_name; 创建数据库:create database db_name(本质就是Linux在/var/lib/mysql创建一个目录),删除数据库:drop...,现在我们创建两个数据库: test1数据库校验集设置为utf8_general_ci;字符集默认为utf8;校验规则使用utf8_ general_ ci[不区分大小写] test2数据库校验集设置为...查看表person: 查询person表中的a:结果是只查出来小写:这是utf8_bin区分大小写: 对于排序,数据库test2中的person默认是升序的,按照ascii值小到大: 查看数据库show...db_ name; 执行删除之后的结果: 数据库内部看不到对应的数据库 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删 注意:不要随意删除数据库 //删除数据d5\d4\d3; mysql
07.13自我总结 MYSQL数据库的增删改查 一.对于库的增删改查 增 create database 库名称; create database 数据库名称 charset 编码方式; 删 drop...库名称; 二.对于表的增删改查 增 增加表单create table 表名称(字段1 数据类型,字段2 数据类型........限制条件); #至少有一股字段和数据类型,最后一个字段已经最后一个数据类型结束后不加...新字段 新字段数据类型 表 改表名称:rename table 表名称 to 新名称 改表的编码:alter table 表名 charset 新编码; 查 查看所有表:show tables...查看指定表信息:desc table 表名称 查看指定表创建信息:show create table 表名称 三.对于表里的数据增删改查 增 插入一个值 insert into 表名 values...(v1,v2,....) # 该方式必须保证 插入的数据个数与 表格字段一 一对应 insert into 表名(字段名称1,字段名称2) values(v1,v2) # 该方式必须保证 插入的数据个数与
null comment '名字', gender char(1) not null comment '性别', Snumber int not null unique ); 添加数据...(6,'sun', 70, 73, 78.5), (7,'ming', 75, 65, 30);添加新列 alter table [table_name] add [column_name] [数据类型...drop database [database_name]; drop database web; truncate table employer;-- 删除表和数据,并重新创建表改修改数据 update...; 修改基本表 alter table [table_name] add [新列名][数据类型][完整约束]; drop [列名]; rename column [列名] to...列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型。如果取出来的数据不需要去重,使用UNION ALL。
mysql查看表结构的两种方法 1、使用的就是desc 表名查看表结构,缺点是输出的信息还不够全面。...-- desc查看表结构,也可以使用describe,desc是descride的简写,效果相同 mysql> desc info; +-------+-----------------------+-...-- desc查看表结构,也可以使用describe,desc是descride的简写,效果相同 mysql> desc info; +-------+-----------------------+-...查看表结构的两种方法,希望对大家有所帮助。...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑 收藏 | 0点赞 | 0打赏
环境: win7_x64, Navicat for MySQL 本文链接 操作数据库 前面已经将MySQL服务跑起来了。...Mac安装MySQL Windows安装MySQL 现在我们以root身份进行MySQL操作 进入MySQL C:\Users\Administrator>mysql -uroot -p 新建数据库...选择要操作的数据库 已经登录后可以直接选择数据库 mysql> use samp_db1; Database changed 创建数据表 以建立person_t数据表为例 mysql> create...,sex,age) values("李四","女",20); 查 - 查询表中的数据 select 列名称 from 表名称 [查询条件]; 多插入了一些数据后 mysql> select name,...> drop table person_t; Query OK, 0 rows affected (0.12 sec) 删除整个数据库 drop database 数据库名; 新建一个数据库samp_4
一般按照如下几个步骤进行: 开启慢查询日志,设置阀值,将慢sql从日志中抓取出来; 分析慢sql,查看其执行计划; show profile,查询sql的执行细节和生命周期情况; MySQL数据库参数调优...本文先来讲讲慢查日志。 1. 是什么? MySQL慢查日志是一种记录执行很慢的sql的日志。...MySQL中可以通过long_query_time来设置一个阀值,如果执行时间超过这个阀值,就会被认为是慢sql,就会记录到慢查日志中。该阀值默认是10s,即执行超过10s的sql就会被记录。 2....开启方法: MySQL默认是没有开启慢查日志的,如果不是调优需要的话,不建议开启,因为这个也会带来性能的影响。...执行结果 日志分析工具:mysqldumpslow 生产环境可能会出现很多的慢查日志,如果都要手工分析,也是比较费时的,MySQL提供了慢查日志分析工具,mysqldumpslow。
查漏补缺 目录 MySQL查漏补缺 唯一索引比普通索引快吗, 为什么 MySQL由哪些部分组成, 分别用来做什么 MySQL查询缓存有什么弊端, 应该什么情况下使用, 8.0版本对查询缓存有什么变更....MyISAM和InnoDB的区别有哪些 MySQL怎么恢复半个月前的数据 MySQL事务的隔离级别, 分别有什么特点 做过哪些MySQL索引相关优化 简要说一下数据库范式 一千万条数据的表, 如何分页查询...订单表数据量越来越大导致查询缓慢, 如何处理 欢迎关注公众号(代码如诗) 推荐阅读 十个MySQL知识点(面试题), 查漏补缺, 共同学习, 欢迎交流....做过哪些MySQL索引相关优化 尽量使用主键查询: 聚簇索引上存储了全部数据, 相比普通索引查询, 减少了回表的消耗....第三范式: 在二范式的基础上, 要求一个数据库表中不包含已在其它表中已包含的非主关键字信息. 所以第三范式具有如下特征:1). 每一列只有一个值. 2). 每一行都能区分. 3).
CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写 先新建一个表 一、插入数据 1.全列插入 insert into [表名...括号里的内容为插入的字段内容,插入的数目和类型需要和表结构要求的一致 2.指定列插入 insert into [表名] (要插入的列) values (对应列的字段内容); 3.插入多组数据
以下是针对数据表中数据的增删查改。 2.增加数据 单行数据 + 全列插入 insert 数据表名 value (值1,值2,......,值n); 在插入数据时,插入的数据顺序必须与创建数据表时对应的字段位置顺序相同,不可搞乱顺序,规避数据顺序错误情况,总而言之要一一对应。...: 表达式中的 加减乘除 之类的针对列进行的运算 只是对数据库服务器査询出的数据进行运算,它们是临时的数据,不会影响到数据库服务器原有的保存的数据....AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分 3.MySQL不存在==这种运算符 4.like运算符的模糊匹配只适用于字符串。...案例: 因为不存在== ,所以mysql这里的=既可以代表赋值,还可以代表是否相等。 5.删除数据 DELETE FROM table_name [WHERE ...]
数据的增加Create 全列插入 insert into 表名 values(...); 例如: insert into classes values(0,"一班"); 注:主键字段可用 0 null...zstar1", 1); 多行插入 多行之间用逗号分隔 例如: insert into students (name, gender) values ("zstar1", 1),("zstar2",2); 数据的删除...数据的修改Update update 表名 set 列1=值1,列2=值2... where 条件; 例如: 将id为3的记录的gender字段值改为1; update students set gender...=1 where id=3; 数据的查询Retrive 查询所有列 select * from 表名; 定条件查询 例如: 查询id为3的记录 select * from students where...select name,gender from students; 用as指定别名 select 字段[as 别名], from 数据表 where ...; 例如: select name as 姓名
DELETE FROM stu WHERE studentNo = '888888'; 删除表中所有数据 -- TRUNCATE TABLE 表名; TRUNCATE TABLE stu; 注意:使用此语句删除表中数据...UPDATE stu SET studentNo = '888888' WHERE studentNo = '123456'; 查 SELECT * FROM stu WHERE studentNo =...FROM后主要是接数据来源,可以单个也可以多个。 WHERE用于条件筛选。 GROUP BY可以让查询的数据根据指定字段分组。 HAVING用于筛选组,就是对于GROUP BY分出的组进行筛选等等。
AVG([DISTINCT] expr) 返回查询到的数据的 平均值 MAX([DISTINCT] expr) 返回查询到的数据的 最大值 MIN([DISTINCT] expr) 返回查询到的数据的...计算每个岗位的平均工资,刨除张三,也刨除平均工资超过2000的数据. 2.2 联合查询 实际开发中往往数据来自不同的表,所以需要多表联合查询。...笛卡尔积就是单纯的排列组合,会产生有许多的无效数据.指定连接条件,把无效数据去掉. 2.2.2 外连接 外连接分为左外连接和右外连接。...left join 表名2 on 连接条件; -- 右外连接 select 字段 from 表名1 right join 表名2 on 连接条件; 对于左连接,以左侧的表为基准,会保证左侧表的每一个数据都存在...多行子查询:返回多行记录的子查询 IN 关键字 2.2.5 合并查询 union 允许从不同的多个表分别查询,只要求每个表查询的结果集合列的类型和个数匹配即可.
注意:只有完全相同的两个数据才会被去重,像上面这种情况:只有数学成绩是重复的其他的都不是重复的,这时候不会被去重。 就算插入了一个孙行者,跟孙悟空成绩一摸一样,也不可以被去重。...插入两个数据之后进行比较会发现,null在最上面,比负数还要靠上面,视为比任意数都要小。...LIMIT n OFFSET s; 基本用法: 每页包含多少个数据,意味着偏移量为多少。 我们就用这个表来实现一下分页。 最开始的时候设置偏移量为0,后面依次 + 2。...从上面这段代码可以看出: 一次性可以更新符合要求的多条数据 与更新之后的数据相同的数据,只会匹配,不算做更改过。...删除孙悟空的所有成绩: 通过where条件匹配了两条数据,所以删除了两条数据。