今天主要復習了MySQL的一些簡單語句,可總結:
mysql 統計 表的數量:SELECT COUNT(1) FROM information_schema.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子句, 則是統計滿足條件的記錄
bitsCN.com聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com