1. 程式人生 > 其它 >Docker實戰之docker-compose命令基礎

Docker實戰之docker-compose命令基礎

目錄

一、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)