MySQL基礎學習——SQL對資料庫進行操作、對資料庫的表進行操作
1.SQL對資料庫進行操作:
建立資料庫:
語法:createdatabase資料庫名稱 [characterset字符集collate字符集校對規則];字符集校對規則即所用字符集的資料庫中的資料值是否區分大小寫、排列順序等規則。
檢視資料庫:
檢視資料庫伺服器中所有的資料庫:showdatabases;
檢視某個資料庫的定義資訊:showcreatedatabase資料庫名稱;
修改資料庫:
語法:alterdatabase資料庫名稱characterset字符集collate校對規則;
刪除資料庫:
語法名稱:dropdatabase資料庫名稱;
切換資料庫
語法:use資料庫名稱;
檢視當前正在使用的資料庫
語法:selectdatabase();
2.對資料庫的表進行操作
SQL建立表:
語法:createtable表的名稱(欄位的名稱欄位型別(長度)約束,欄位的名稱欄位型別(長度)約束);
欄位的型別(一個實體對應一個表,一個實體的屬性對應一個表的欄位。)
java中的型別 MySQL中的型別
byte/short/int/long tinyint/smallint/int/bigint
float float
double double
boolean bit
char/String char和varchar
Date date/time/datetime/timestamp
日期/時間/日期和時間/日期和時間
File BLOB/TEXT (BLOB二進位制型別的檔案,TEXT是文字型別的檔案)
char和varchar的區別:char代表的是固定長度的字元或字串,如char(8),向這個欄位存入hello,資料庫會使用三個空格將其補全,像helloworld這種超過會報錯。varchar代表可變長度的字串,如varchar(8),存入hello,存入到資料庫的就是hello。
datatime與timestamp的區別:datatime就是既有日期又有時間的日期型別,如果沒有向這個欄位中存值,資料庫使用null存入到資料庫中。timestamp也是既有日期又有時間的日期型別,如果沒有向這個欄位中存值,資料庫會使用當前的系統時間存入到資料庫中。
約束(約束的作用:保證資料的完整性)
單表約束的分類:
主鍵約束:(用於唯一地標識表中的每一條記錄,可以定義一列或多列為主鍵。)primarykey(主鍵約束預設就是唯一非空的)
唯一約束:(該欄位值不可重複 )unique
非空約束:(可以重複,但不可以為空)notnull
auto_increment是自動增加。
SQL查看錶
檢視某個資料庫下所有的表
語法:showtables
檢視某個表的結構資訊
語法:desc表名;
刪除表:
語法:droptable表名;
修改表:
新增列:altertable表名add列名型別(長度)約束;
修改列的型別,長度和約束:altertable表名modify列名型別(長度)約束;
刪除列:altertable表名drop 列名;
修改列名稱:altertable表名change舊列名新列名型別(長度)約束;
修改表名:renametable表名to 新的表名;
修改表的字符集:altertable表名characterset字符集;