1、首先打开cmd或PowerShell,进入mysql。
2、选择或者创建一个数据库,使用了以前创建的数据库test。
3、在数据库下创建表stu,表结构如图。
4、接着向stu表插入四条数据,插入后查看该表的数据。
5、再输入sql语句 update stu set credit1=82就可以获取一列中的最大值了。
select mask from score order by mask desc limit 50order by mask desc 是按照mask进行降序排列
查询到的结果自然是从大到小
limit 50指的是查询结果取前50个
数据库中有几十上百张表,那么哪些表的数据量比较大呢,总不能一个表一个表的去查询吧,在mysql中也有类似于oracle的数据字典表,只不过mysql没有oracle记录的那么多和详细,但也足够我们查询这些信息了。在mysql的information_schema下有存储数据库基本信息的数据字典表,可以通过查询tables表来获得所需要的表相关信息。
mysql>show databases
+--------------------+
| Database |
+--------------------+
| information_schema |
|mysql |
|report|
| report_result |
|test |
+--------------------+
5 rows in set (0.02 sec)
mysql>use information_schema
Database changed
mysql>show tables
+---------------------------------------+
|Tables_in_information_schema |
+---------------------------------------+
|CHARACTER_SETS |
|COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
|COLUMNS |
|COLUMN_PRIVILEGES|
|KEY_COLUMN_USAGE |
|PROFILING|
|ROUTINES |
|SCHEMATA |
|SCHEMA_PRIVILEGES|
|STATISTICS |
|TABLES |
|TABLE_CONSTRAINTS|
|TABLE_PRIVILEGES |
|TRIGGERS |
|USER_PRIVILEGES |
|VIEWS|
+---------------------------------------+
17 rows in set (0.00 sec)
那么我们查看一下talbes表结构信息,看看存储的具体信息
mysql>desc tables
+-----------------+--------------+------+-----+---------+-------+
| Field |Type | Null | Key | Default |Extra |
+-----------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG | varchar(512) | YES | | NULL | |
| TABLE_SCHEMA| varchar(64) | NO | || |
| TABLE_NAME | varchar(64) | NO | || |
| TABLE_TYPE | varchar(64) | NO | || |
| ENGINE |varchar(64) | YES | |NULL| |
| VERSION |bigint(21) | YES | |NULL| |
| ROW_FORMAT | varchar(10) | YES | | NULL | |
| TABLE_ROWS | bigint(21) | YES | | NULL | |
| AVG_ROW_LENGTH | bigint(21) | YES | | NULL | |
| DATA_LENGTH | bigint(21) | YES | | NULL | |
| MAX_DATA_LENGTH | bigint(21) | YES | | NULL | |
| INDEX_LENGTH| bigint(21) | YES | | NULL | |
| DATA_FREE | bigint(21) |YES | | NULL | |
| AUTO_INCREMENT | bigint(21) | YES | | NULL | |
| CREATE_TIME | datetime |YES | | NULL | |
| UPDATE_TIME | datetime |YES | | NULL | |
| CHECK_TIME | datetime |YES | | NULL | |
| TABLE_COLLATION | varchar(64) | YES | |NULL| |
| CHECKSUM| bigint(21) |YES | | NULL | |
| CREATE_OPTIONS | varchar(255) | YES | |NULL| |
| TABLE_COMMENT | varchar(80) | NO | || |
+-----------------+--------------+------+-----+---------+-------+
21 rows in set (0.00 sec)
主要存储了表的信息如表使用的引擎,表的类型等信息。我们可以通过查询table_rows属性获得哪些表数据量比较大。
mysql>select table_name,table_rows from tables order by table_rows desc limi 10
+---------------+------------+
| table_name|table_rows |
+---------------+------------+
| task6|1558845 |
| task |1554399 |
| task5|1539009 |
| task3|1532169 |
| task1|1531143 |
| task2|1531143 |
| task4|1521225 |
| task7| 980865 |
我们继续深入思考,这些存储的数据是否准确,是否真实的反应了表中数据量大小?
mysql>show create table tables \G
*************************** 1. row***************************
Table: TABLES
Create Table: CREATE TEMPORARY TABLE`TABLES` (
`TABLE_CATALOG` varchar(512) default NULL,
`TABLE_SCHEMA` varchar(64) NOT NULL default '',
`TABLE_NAME` varchar(64) NOT NULL default '',
`TABLE_TYPE` varchar(64) NOT NULL default '',
&nb
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)