MySQL基礎知識(一)——基本命令和資料型別
一.MySQL基礎
- MySQL由瑞典MySQL AB公司開發,目前屬於Oracle公司;
- MySQL是一個開源的關係型資料管理系統;
- MySQL分為社群版和企業版。
二.MySQL目錄結構
- bin目錄,儲存可執行檔案;
- data目錄,儲存資料檔案;
- docs,文件;
- include 目錄,儲存包含的檔案;
- lib目錄,儲存庫檔案;
- share,錯誤訊息和字符集檔案。
MAC下MySQL的目錄結構路徑為:/usr/local/mysql
三.啟動終止MySQL服務命令
- 啟動:net start mysql
- 終止:net stop mysql
四.命令列登入MySQL
mysql -uroot -p -h127.0.0.1
引數 | 描述 |
-D,--database=name | 開啟指定資料庫 |
--delimiter=name | 指定分割符 |
-h,--host=name | 伺服器名稱 |
-p,--password[=name] | 密碼 |
-P,--port=# | 埠號 |
--prompt=name | 設定提示符 |
-u,--user=name | 使用者名稱 |
-V,--version | 輸出版本資訊並且退出 |
五.MySQL退出
- exit;
- quit;
- \q;
六.修改MySQL提示符
1.連線客戶端時通過引數指定:mysql -uroot -p --prompt 提示符
2.連線上客戶端後,通過prompt指定:prompt提示符
MySQL提示符:
- \D 完整的日期
- \d 當前資料庫
- \h 伺服器名稱
- \u 當前使用者
七.MySQL常用命令
- 顯示當前伺服器版本: SELECT VERSION();
- 顯示當前日期時間:SELECT NOW();
- 顯示當前使用者:SELECT USER();
八.MySQL語句的規範
- 關鍵字與函式名稱全部大寫;
- 資料庫名稱,表名稱,欄位名稱全部小寫;
- SQL語句必須以分號結尾。
九.資料庫操作
1.建立資料庫
語法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
2.展示現有資料庫
語法:SHOW DATABASES;
MySQL會有四個預設的資料庫:information_schema,mysql,sys和performance_schema
# 建立一個已經存在的資料庫t1,加IF NOT EXISTS可以避免資料庫報錯(error),只會報warning。
CREATE DATABASE IF NOT EXISTS t1;
(1)展示WARNING
語法:SHOW WARNINGS;
(2)展示編碼方式(沒有設定編碼方式,只使用MySQL預設的編碼方式)
語法:SHOW CREATE DATABASE t1;
(3)帶編碼方式建立資料庫:
# 建立資料庫t2,編碼方式為gbk
CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk;
3.修改資料庫
語法:ALTER { DATABASE | SCHEMA } [db_name] [DEFAULT] CHARACTER SET [=] charset_name
4.刪除資料庫
語法:DROP { DATABASE | SCHEMA } [IF EXISTS] db_name;
# 刪除資料庫
DROP DATABASE t2;
十.資料型別
資料型別是指列,儲存過程引數,表示式和區域性變數的資料特徵,它決定了資料的儲存格式,代表了不同的資訊型別。
1.整型
資料型別 | 儲存範圍 | 位元組 |
TINYINT | 有符號值:-128到127(-2^7到2^7-1) 無符號值:0到255(0到2^8-1) |
1 |
SMALLINT | 有符號值:-32768到32767(-2^15到2^15-1) 無符號值:0到65535(0到2^16-1) |
2 |
MEDIUMINT | 有符號值:-8388608到8388607(-2^23到2^23-1) 無符號值:0到16777215(0到2^24-1) |
3 |
INT | 有符號值:-2147483648到2147483647(-2^31到2^31-1) 無符號值:0到4294967295(0到2^31-1) |
4 |
BIGINT | 有符號值:-9223372036854775808到9223372036854775807(-2^63到2^63-1) 無符號值:0到18446744073709551615(0到2^64-1) |
8 |
2.浮點型
3.日期時間型
資料型別 | 儲存需求 |
---|---|
YEAR | 1 |
TIME | 3 |
DATE | 3 |
DATETIME | 8 |
TIMESTAMP | 4 |
4.字元型
資料型別 | 儲存需求 |
---|---|
CHAR(M) | M個位元組,0<=M<=25 |
VACHAR(M) | L+1個位元組,其中L<=M且0<=M<=65535 |
TINYTEXT | L+1個位元組,其中L<=2^8 |
TEXT | L+2個位元組,其中L<=2^16 |
MEDIUMTEXT | L+3個位元組,其中L<=2^24 |
LONGTEXT | L+4個位元組,其中L<=2^32 |
ENUM('value1','value2',...) | 1或2個位元組,取決於列舉值的個數(最多65535個值)。 |
SET('value1','value2',...) | 1,2,3,4或者8個位元組,取決於set成員的數目(最多64個成員)。 |