MySQL 是最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。
今天剛好又接觸到了MySQL,有一些相關知識和語句不常用會容易忘記,在這里記錄一下。
mysql登錄命令
# 方法一: >> mysql -uroot -p >> 然后回車 >>Enter password:輸入密碼 >>回車,登錄成功 # 方法二: >>mysql -u 用戶名 -p 密碼 >>回車
增加新用戶
grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"
數據庫相關操作命令
# 創建數據庫 >>create database 數據庫名; # 刪除數據庫 >>drop database 數據庫名; # 查詢數據庫 >>show Databases; # 使用數據庫 >>use 數據庫名稱; # 進入選定的數據庫后,查詢數據庫表 >>show tables; # 創建數據庫表 >>create table 表名(字段列表); # 刪除數據庫表 >>drop table 表名;
增刪改查語句
- 創建數據庫表
CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) UNIQUE NOT NULL, age SMALLINT );
- 插入數據
INSERT INTO users(id,name,age) VALUES(1,'Tom',18);
- 查詢數據
select * from users;
- 修改數據(將Tom的年齡修改為20)
update users set age=20 where name="Tom";
- 刪除數據
delete from users where name="Tom";
表連接查詢
- INNER JOIN:查詢出 A表 和B表 的 交集;
SELECT * FROM A INNER JOIN B ON A.id = B.id
- LEFT OUTER JOIN:查詢A表的完全集,而B表中匹配的則有值,沒匹配的以 null 值取代
SELECT * FROM A LEFT OUTER JOIN B ON A.id = B.id
- RIGHT OUTER JOIN:查詢B表的完全集,而A表中匹配的則有值,沒匹配的以 null 值取代
SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.id
數據類型
- 數值類型
MySQL支持所有標準SQL數值數據類型。 這些類型包括嚴格數值數據類型(INTEGER、SMALLINT、DECIMAL和NUMERIC), 以及近似數值數據類型(FLOAT、REAL和DOUBLE PRECISION)。
- 日期和時間類型
表示時間值的日期和時間類型為:DATETIME、DATE、TIMESTAMP、TIME、YEAR。
- 字符串類型
字符串類型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。 CHAR 和 VARCHAR 類型類似,但它們保存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在存儲或檢索過程中不進行大小寫轉換。 BINARY 和 VARBINARY 類似于 CHAR 和 VARCHAR,不同的是它們包含二進制字符串而不要非二進制字符串。 也就是說,它們包含字節字符串而不是字符字符串。這說明它們沒有字符集,并且排序和比較基于列值字節的數值值。 BLOB 是一個二進制大對象,可以容納可變數量的數據。有 4 種 BLOB 類型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它們區別在于可容納存儲范圍不同。 有 4 種 TEXT 類型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。對應的這 4 種 BLOB 類型,可存儲的最大長度不同,可根據實際情況選擇。