目錄
1.啓動MySQL服務
打開MySQL安裝目錄下的bin文件,輸入:
net start mysql
2.關閉MySQL服務
net stop mysql
3.登錄
MySql服務開啓後,輸入:
mysql -u {username} -p {password}
username:用戶名,我這裏用戶名是root
password:密碼,我這裏密碼是123456
4.
4.退出登錄
quit;
5.顯示當前服務器版本
SELECT VERSION();
6.顯示當前日期時間
SELECT NO();
7.顯示當前用戶
SELECT USER();
8.創建數據庫
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
{}表示必選項,[]表示可選項,|表示或
CHARACTER SET [=] charset_name表示編碼方式
創建一個名字爲test的數據庫:
9.查看數據庫編碼方式
創建時採用默認編碼方式,即爲my.ini中指定的編碼方式。我的my.ini中指定默認編碼方式爲utf8.
SHOW CREATE DATABASE db_name;
i
可以看到編碼方式爲utf8
10.修改數據庫的編碼方式
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
修改爲gbk編碼方式
可以看到已經修改爲gbk。
11.查看當前數據庫下數據表列表
SHOW DATABASES;
可以看到剛纔創建的數據庫已存在。
12.刪除數據庫
DROP DATABASE db_name;
可以看到已經刪除。
13.查看警告
SHOW WARNINGS;
當前沒有警告。
14.數據類型
數據類型 | 存儲範圍 | 字節 |
TINYINT |
有符號值:-128~+127(~) 無符號值:0~255(0~) |
1 |
SMALLINT |
有符號值:-32768~+32767(~) 無符號值:0~65535(0~) |
2 |
MEDIUMINT |
有符號值:-8388608~+8388607(~) 無符號值:0~16777215(0~) |
3 |
INT |
有符號值:-2147483648~+2147483647(~) 無符號值:0~4294967295(0~) |
4 |
BIGINT |
有符號值:-9223372036854775808~+9223372036854775808(~) 無符號值:0~18446744073709551615(0~) |
8 |
數據類型 | 存儲範圍 | 字節 |
FLOAT(M,D) |
-3.402823466E+38~-1.175494351E-38、0、1.175494351E-38~3.402823466E+38。 M是數字總位數,D是小數點後面的位數。 |
|
DOUBLE(M,D) |
-1.7976931348623157E+308~-2.2250738585072014E-308、0、 2.2250738585072014E-308~1.7976931348623157E+308 |
數據類型 | 存儲範圍 | 字節 |
YEAR | 默認4位1970~2069(年) | 1 |
TIME | -8385959~+8385959 | 3 |
DATE | 1000/1/1~9999/12/31 | 3 |
DATETIME | 1000/1/1 00:00:00~9999/12/31 23:59:59 | 8 |
TIMESTAMP | 1970/1/1 00:00:00~2037 | 4 |
數據類型 | 存儲範圍 | 備註 |
CHAR(M) | M個字節, | 定長 |
VARCHAR(M) | L+1個字節,其中且 | 變長 |
TINYTEXT | L+1個字節,其中 | |
TEXT | L+2個字節,其中 | |
MEDIUMTEXT | L+3個字節,其中 | |
LONGTEXT | L+4個字節,其中 | |
ENUM('value1','value2',...) | 1或2個字節,取決於枚舉值的個數(最多65535個值) | |
SET('value1','value2',...) | 1、2、3、4或8個字節,取決於set成員的數目(最多64個成員) |
15.打開數據庫
USE db_name
現在已經打開了test數據庫,接下來驗證是否打開了test數據庫。
16.查看當前打開的數據庫
SELECT DATABASE();
確實已經打開了test數據庫。接下來在此數據庫創建數據表。
17.創建數據表
CREATE TABLE [IF NOT EXISTS] table_name(column_name data_type,...)
創建一個數據表,名字是tb1,有3個變量姓名、年齡、工資。
18.查看數據表(當前數據庫下和其他數據庫下的數據表)
SHOW TABLES [FORM db_name];
加上FORM db_name後就可以查看db_name數據庫下的數據表。
test數據庫下只有一個數據表,就是剛剛創建的tb1。
mysql數據庫下有33個數據表。
19.查看數據表結構
SHOW COLUMNS FROM tb_name
查看發現數據表結構就是剛纔創建的結構。
20.向數據表插入記錄
INSERT [INTO] tb_name [(col_name,...)] VALUES(val,...)
如果省略掉中括號中的col_name,則必須給所有的列賦值。
如果不全都賦值,則出錯,如上圖第2行命令所示。
加上中括號中的col_name之後就可以寫固定列了。如上圖所示。
21.查看數據表記錄
SELECT expr,.... FROM tb_name
列出數據表tb1全部字段。
22.mysql空值與非空
NULL,字段值可以爲空
NOT NULL,字段值禁止爲空
創建一個tb2數據表,名字不能爲空,年齡可以爲空。賦值如下圖:
如果將名字賦值爲空,則報錯,如下圖提示username不能爲空:
23.自動編號
AUTO_INCREMENT
必須與主鍵組合使用
默認情況下,起始值爲1,每次增加量爲1.
沒有與主鍵合用,錯誤。
24.主鍵(PRIMARY KEY)
每張數據表只能存在一個主鍵
主鍵保證記錄的唯一性
主鍵自動爲NOT NULL
主鍵不一定與AUTO_INCREMENT一起使用。
id自動賦值,只需要給username賦值即可。
可以看到id自動增加,保證記錄唯一性。
創建一個數據表,定義主鍵不是自動編號,如下圖
插入編號和username,如下圖
如果插入相同編號會怎麼樣呢?看下圖:
說明AUTO_INCREMENT必須與PRIMARY KEY一起使用,但PRIMARY KEY不一定與UTO_INCREMENT一起使用。
25.唯一約束(UNIQUE KEY)
- 唯一約束可以保證記錄的唯一性
- 唯一約束的字段可以爲空值(NULL)
- 每張數據表可以存在多個唯一約束
創建一個新數據表,將username設置爲UNIQUE KEY
當寫入兩個相同名字時,系統提示錯誤。
26.默認約束
- 默認值
- 當插入記錄時,如果沒有明確爲字段賦值,則自動賦予默認值。
新建數據表,將性別默認爲3,如下圖
當不給性別賦值時,性別默認爲3,驗證如下圖:
只給姓名賦值,性別自動賦值爲3.