本文目錄一覽:
mysql快速查詢資料庫中有多少條數據
今天主要複習了MySQL的一些簡單語句,可總結:
mysql 統計 表的數量:SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA = ‘你的資料庫’;
有時候需要查詢MySQL資料庫中各個表大小,該如何操作呢?
MySQL中有一個名為 information_schema 的資料庫,在該庫中有一個 TABLES 表,這個表主要欄位分別是:
TABLE_SCHEMA : 資料庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小
INDEX_LENGTH:索引大小
use information_schema;
SELECT
TABLE_NAME,
(DATA_LENGTH/1024/1024) as DataM ,
(INDEX_LENGTH/1024/1024) as IndexM,
((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as AllM,
TABLE_ROWS
FROM
TABLES
WHERE
TABLE_SCHEMA = ‘你的資料庫’;
MySQL的一些基礎語句:
行是記錄 列是欄位
創建庫
CREATE DATABASE [IF NOT EXISTS] 資料庫名 [參數[ 參數] [ 參數]…];
參數:
CHARACTER SET 碼錶名
COLLATE 校對規則名, 詳見文檔10.10.1
顯示庫
SHOW DATABASES;
顯示資料庫創建語句
SHOW CREATE DATABASE 資料庫名;
修改庫
ALTER DATABASE 資料庫名[ 參數[ 參數][ 參數]…];
注意: 不能改資料庫的名字
刪除庫
DROP DATABASE [IF EXISTS] 資料庫名;
操作表之前使用需要先確定使用哪個資料庫
USE 資料庫名
創建表
CREATE TABLE 表名(列名 類型[,列名 類型][,列名 類型]…);
查看所有表
SHOW TABLES;
查看錶的創建語句
SHOW CREATE TABLE 表名;
顯示錶結構
DESC 表名;
修改表名
RENAME TABLE 原表名 TO 新表名;
修改字符集
ALTER TABLE 表名 CHARACTER SET 字符集名;
刪除表
DROP TABLE 表名;
追加列
ALTER TABLE 表名 ADD 列名 類型[,列名 類型][,列名 類型]…;
修改列類型
ALTER TABLE 表名 MODIFY 列名 類型[,列名 類型][,列名 類型]…;
修改列
ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 類型;
刪除列
ALTER TABLE 表名 DROP 列名;
插入語法:
INSERT INTO 表名[(列名[,列名]…)] VALUES(值[,值]…);
注意事項:
插入值類型必須與對應列的數據類型一致
數據不能超出長度
插入值得為之必須與列名順序一致
字元和日期數據要放在單引號中
插入空值使用null
如果不指定插入哪一列, 就是插入所有列
中文數據
由於默認碼錶是utf8, 而cmd.exe的碼錶是gbk, 在插入中文數據的時候會報錯, 所以我們需要修改客戶端碼錶
先查看系統變數: SHOW VARIABLES LIKE ‘character%’;
修改客戶端碼錶: SET character_set_client=gbk;
修改輸出數據的碼錶: SET character_set_results=gbk;
修改語法
UPDATE 表名 SET 列名=值[,列名=值]…[WHERE 條件語句];
注意事項
WHERE子句選擇滿足條件的行進行更新, 如果不寫, 則更新所有行
刪除語法
DELETE FROM 表名 [where 條件語句]
注意事項
如果不加where子句, 將刪除表中所有記錄
delete只能用作刪除行, 不能刪除某一列的值, 需要用update
在delete和update的時候需要注意表與表之間的關聯關係
刪除表中所有數據可以使用: TRANCATE 表名, 這種方式會刪除舊錶重新創建, 在數據較多的時候使用
備份資料庫
輸入quit退出mysql, 在cmd.exe中輸入:
mysqldump –u用戶名 –p密碼 資料庫名 文件名
恢復資料庫
進入mysql.exe之後, 使用資料庫之後
source 文件名
操作數據(查詢)
DISTINCT語法
SELECT [DISTINCT] 列名[, 列名]… FROM 表名
注意事項
*可以替代列名, 表示所有列, 但是通常我們為了提高代碼的可讀性, 不使用*
DISTINCT為過濾重複記錄
如果DISTINCT後面跟多列, 是過濾掉多列合併之後的重複
列名表達式——語法
SELECT 列名|表達式[,列名|表達式]… FROM 表名
注意事項
表達式只是顯示時起作用, 不會改變資料庫中的值
AS——
SELECT 列名 AS 別名 FROM 表名
注意事項
起別名時AS可以省略
不會改變資料庫中的值
WHERE——
語法
SELECT 列名 FROM 表名 [WHERE 條件語句]
WHERE子句中的運算符
比較運算符
, , =, =, =,
注意不等於和Java中不同, 是
BETWEEN … AND …
某一區間內的值, 從 … 到 …
IN(列表)
在列表之中, 例: in(1,2,3) 代表1或2或3
LIKE(表達式)
模糊查詢, %代表多個字元, _代表單個字元
IS NULL
判斷是否為NULL
邏輯運算符
AND
與, 兩邊都為TRUE結果為TRUE
OR ||
或, 一邊為TRUE結果就為TRUE
NOT !
非, 將表達式結果取反
ORDER BY——
語法
SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;
注意事項
ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT語句後面起的別名
ASC為升序, DESC為降序
ORDER BY應在查詢語句的結尾
COUNT函數——
語法
SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 條件語句]
注意事項
COUNT(列名)的方式是統計指定列中有多少條記錄, 不包括值為NULL的
COUNT(*)則是統計表中有多少條數據
COUNT(DISTINCT 列名) 統計不重複的記錄數
如果加上WHERE子句, 則是統計滿足條件的記錄
mysql查詢表中一共多少條數據
用語句SELECT count(*) FROM table_name;查詢,下面以查詢資料庫history下的表格名為111的數據條數為例:
1、在命令行輸入mysql -u root -p,再輸入mysql的密碼進入mysql
2、輸入use history進入history資料庫
3、輸入語句SELECT count(*) FROM 111;查詢表格111的總數據條數
4、如下圖所示,可以看到總數據條數是1744364
mysql 怎麼指定查詢多少條數據
1、創建測試表,
create table test_limit(id int ,value varchar(100));
2、插入測試數據,共6條記錄;
insert into test_limit values (1,’v1′);
insert into test_limit values (2,’v2′);
insert into test_limit values (3,’v3′);
insert into test_limit values (4,’v4′);
insert into test_limit values (5,’v5′);
insert into test_limit values (6,’v6′);
3、查詢表中全量數據,可以發現共6條數據,select * from test_limit t;
4、編寫語句,指定查詢3條數據;
select * from test_limit limit 3;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243302.html