1、資料庫操作
1.1、連接配接mysql伺服器
mysql -u root( 使用者名 ) -p
1.2、退出mysql指令提示窗
exit
1.3、檢視版本
SELECT VERSION();
1.4、列出資料庫清單
SHOW DATABASES;
1.5、建立資料庫
CREATE DATABASE IF NOT EXISTS [database] DEFAULT CHARSET UTF8;
1.6、選擇要操作的資料庫
USE [database];
1.7、删除資料庫
GROP DATABASE [database];
2、表操作(建立在已經標明了資料庫上)
2.1、建立表
CREATE TABLE IF NOT EXISTS [`tableName`] (`columnName` columnType PRIMARY KEY/...) CHARSET UTF8;
PRIMARY KEY:設定字段為主鍵;
AUTO_INCREMENT:自增;
NOT NUL:字段資料不為NULL,否則報錯;
CHARSET:設定編碼格式。
2.2、列出表
SHOW TABLES;
2.3、查詢資料表字段資訊
SHOW COLUMNS FROM [tableName];
2.4、查詢資料表的詳細索引資訊
SHOW INDEX FROM [tableName];
2.5、查詢管理系統的性能及統計資訊
SHOW TABLE STATUS FROM [database] LIKE \'**%\'\G;
**%:以什麼開頭;
\G:按列顯示。
2.6、删除資料表
DROP TABLE [tableName];
2.7、修改表見4.9
3、資料操作(增删改查)
3.1、插入資料
INSERT INTO [tableName] (key1, key2) VALUES (val1, val2);
3.2、删除資料
DELETE FROM [tableName] condition;
condition:WHERE id=1 / ...
3.3、修改更新資料
UPDATE [tableName] SET key1=val1, key2=val2 condition;
3.4、查詢資料
SELECT */(key1, key2) FROM [tableName];
*:查全部;
key1, key2:想要查詢的字段。
4、子句(配合增删改查等操作)
4.1、WHERE
AND:與條件
eg:SELECT */(key1, key2) FROM [tableName] WHERE id=1 AND name=\'newname\';
OR:或條件
eg:SELECT */(key1, key2) FROM [tableName] WHERE id=2 OR name=\'newname\';
4.2、LIKE % —— 可以模糊查詢
表中有以下資料:
無%:精确查詢:
、
%**在前:已**結尾:SELECT * FROM [tableName] WHERE key LIKE \'%val\';
**%在後:已**開頭:SELECT * FROM [tableName] WHERE key LIKE \'val%\';
%**%:包含**:SELECT * FROM [tableName] WHERE key LIKE \'%val%\';
4.3、UNION ALL/DISTINCT —— 得到兩個以上select語句結果的集合
有以下兩表:
ALL:不去重
DISTINCT:去重
4.4、ORDER BY key ASC/DESC —— asc升序,desc降序
4.5、GROUP BY —— 分組統計
SELECT name COUNT(*)/SUM(key)/AVG(key) AS newName FROM [tableName] GROUP BY name WITH ROLLUP;(分組統計name的個數以字段newName顯示統計個數)
4.6、JOIN —— 連接配接
有以下兩表:
INNER JOIN(擷取兩表比對關系記錄):SELECT a.name, b.count FROM [tableName1] a INNER JOIN [tableName2] b ON a.name=b.name;
相當于語句:SELECT a.name, b.count FROM [tableName1] a, [tableName2] b WHERE a.name=b.name;
LEFT JOIN(左連接配接 擷取左表記錄,即使右表沒有)
RIGHT JOIN(右連接配接 擷取右表記錄,即使左表沒有)
4.7、NULL
IS NULL:值為NULL;
IS NOT NULL:值不為NULL。
4.8、REGEXP —— 正則
SELECT * FROM [tableName] WHERE name REGEXP \'regexp\';
4.9、ALTER —— 增删改字段
表原結構:
添加一列:ALTER TABLE [tableName] ADD newKey INT/... NOT NULL DEFAULT ‘val‘ FIRST/AFTER key; 添加新字段newKey預設值為val于第一列或key列之後
FIRST:添加字段到第一列;
AFTER:添加字段到**字段之後;
DEFAULT:設定字段預設值。
删除一列:ALTER TABLE [tableName] DROP newKey;
修改一列:ALTER TABLE [tableName] CHANGE key newKey INT/...;
修改表:ALTER TABLE [tableName] RENAME TO [newTableName];
-------以上如有問題歡迎指出,轉載請說明出處