Docker實戰之docker-compose命令基礎
阿新 • • 發佈:2022-05-17
目錄
- 一、MySQL資料庫管理
- 二、檢視資料庫結構
- 三、SQL語句
- 四、建立及刪除資料庫和表
- 五、管理表中的資料記錄
- 六、修改表名和表結構
- 七、自增
- 八、填充
- 九、克隆表
- 十一、建立臨時表
- 十二、建立外來鍵約束,保證資料的完整性和一致性
- 十三、MySQL中6種常見的約束
一、MySQL資料庫管理
1、庫和表
行(記錄):用來描述一個物件的資訊
列(欄位):用來描述物件的一個屬性
2、常用的資料型別
int :整型
float :單精度浮點 4位元組32位
double :雙精度浮點 8位元組64位
char :固定長度的字元型別
varchar :可變長度的字元型別
text :文字
image :圖片
decimal(5,2) :5個有效長度數字,小數點後面有2位
二、檢視資料庫結構
show databases; #檢視當前伺服器中的資料庫 use 資料庫名; #切換資料庫 show tables; #檢視資料庫中包含的表 desc(desribe) 表名; #查看錶的結構
三、SQL語句
SQL語句用於維護管理資料庫,包括資料查詢、資料更新、訪問控制、物件管理等功能
1、SQL語句分類:
語句 | 代表的意思 |
---|---|
DDL | 資料定義語言,用於建立資料庫物件,如庫、表、索引等 |
DML | 資料操縱語言,用於對錶中的資料進行管理 |
DQL | 資料查詢語言,用於從資料表中查詢符合條件的資料記錄 |
DCL | 資料控制語言,用於設定或者更改資料庫使用者或角色許可權 |
四、建立及刪除資料庫和表
create database 資料庫名; #建立新的資料庫 create table 表名 (欄位1 資料型別,欄位2 資料型別,。。。。PRIMARY KEY (主鍵名]); #建立新的表 drop table 表名; #刪除指定的資料表 drop database 資料庫名; #刪除指定的資料庫
五、管理表中的資料記錄
insert into 表名(欄位1,欄位2,。。。。)values(欄位1的值,欄位2的值,。。。。); #向資料表中插入新的資料記錄
select *from 表名; #查詢表的全部資料
select 欄位1,欄位2 from 表名 where 條件表示式; #查詢指定資料
select *from 表名\G #以列表方式豎向顯示
select *from 表名 limit 2; #只顯示前兩行
select *from 表名 limit 3,2; #顯示第三行之後的前兩行,這裡顯示4,5兩行
update 表名 set 欄位名1=欄位值1 where 條件表示式; #修改、更新資料表中的資料記錄
delect from 表名 where 條件表示式; #在資料表中刪除指定的資料記錄
六、修改表名和表結構
alter table 舊錶名 rename 新表名; #修改表名
alter add 欄位名 資料型別 屬性; #擴充套件表結構(增加欄位)
alter table 表名 change 舊欄位名 新欄位名 資料型別 屬性; #修改欄位(列)名
#CHANGE可修改欄位名、資料型別、約束等所有項。
alter table 表名 drop 欄位名; #刪除欄位
七、自增
auto_increment:表示此欄位為自增長欄位,即每條記錄自動遞增1,預設從1開始遞增;自增長欄位資料不可以重複;自增長欄位必須是主鍵;如新增的記錄資料沒有指定此欄位的值且新增失敗也會自動遞增一 次
八、填充
int(4) zerofill:表示若數值不滿4位數,則前面用“0”填充,例0001
九、克隆表
法一:先複製表再匯入資料
create table 新表名 like 舊錶名; #通過like方法,複製舊錶結構生成新表
insert into select *from 舊錶名; #匯入資料
法二:複製表的同時匯入資料
create table 新表名 (select *from 舊錶名);
十、清空表,刪除表內的所有資料
法一:delete刪除
delect from 表名;
#DELETE清空表後,返回的結果內有刪除的記錄條目;DELETE工作時是一行一行的刪除記錄資料的;如果表中有自增長欄位,使用DELETE FROM 刪除所有記錄後,再次新新增的記錄會從原來最大的記錄 ID 後面繼續自增寫入記錄。
法二:truncate刪除
truncate table 表名;
#TRUNCATE 清空表後,沒有返回被刪除的條目;TRUNCATE 工作時是將表結構按原樣重新建立,因此在速度上 TRUNCATE 會比 DELETE 清空錶快;使用 TRUNCATE TABLE 清空表內資料後,ID 會從 1 開始重新記錄。
十一、建立臨時表
臨時表建立成功之後,使用SHOW TABLES命令是看不到建立的臨時表的,臨時表會在連線退出後被銷燬。 如果在退出連線之前,也可以可執行增刪改查等操作,比如使用 DROP TABLE 語句手動直接刪除臨時表。
create temporary table 表名(欄位1 資料型別,欄位2 資料型別。。。。);
十二、建立外來鍵約束,保證資料的完整性和一致性
主鍵表和外來鍵表的理解:
(1)以公共關鍵字作主鍵的表為主鍵表(父表、主表)
(2)以公共關鍵字作外來鍵的表為外來鍵表(從表、外表)
注意:與外來鍵關聯的子表的欄位必須設定為主鍵。要求主表外來鍵欄位和子表的欄位具備相同的資料型別、字元長度和約束。
1、建立外來鍵約束的步驟
1.1、 建立主鍵表和從鍵表
1.2、 為主鍵新增一個主鍵約束。主鍵名建議以“PK_”開頭
13、 為從表新增外來鍵,外來鍵名建議以“FK_”開頭,並與主鍵表建立關聯
1.4、 插入新的資料記錄時,要先主表再從表
1.5、 刪數資料記錄時,要先從表再主表,也就是說刪除主鍵表時必須先刪除其他與之關聯的表
1.6、 檢視和解除外來鍵約束以及刪除外來鍵
十三、MySQL中6種常見的約束
主鍵約束(primary key)
外來鍵約束(foreign key)
非空約束(not null)
唯一性約束(unique [key|index])
預設值約束(default)
自增約束(auto_increment)