MySQL資料庫的一些命令以及方法(二)

2021-09-26 10:40:12 字數 3417 閱讀 1916

建立表

create table t_表名/tbl_表名(

欄位名稱 字段型別 字段長度 字段約束,

欄位名稱 字段型別 字段長度 字段約束

);

刪除表

drop talbe t_表名;

drop talbe if exists t_表名; //加入if exists 意思是如果表存在則刪除

複製表

create table 表名 as select * from 被複製的表;

create table 表名 as 查詢語句;

mysql常用資料型別:char varchar int bigint float double date blob clob等

dml語句:insert update delete

insert into 表名(欄位名) values (值);

update 表名 set 欄位名1 = 字段值1,欄位名2 = 字段值2 where 限制條件; //修改和刪除要加條件,否則全表中的修改

delete from t_表名; //刪除表中的所有資料

delete from t_表名 where 限制條件; //刪除符合條件的資料

修改表

alter table 表名 add 字段 值; //增加字段

alter table 表名 modify 字段 值; //修改字段

alter table 表名 drop 字段; //刪除字段

alter table 表名 change name 修改後的欄位名 值; //修改表名

非空約束 (指定值不能為null)

create table 表名(

欄位名 字段型別 字段長度 not null //字段長度後加not null即為非空約束;

);

列級約束

create table 表名(

欄位名 字段型別 字段長度 unique //字段長度後加unique即為唯一約束;

);

表級約束

create table 表名(

欄位名 字段型別 字段長度, //字段長度後加not null即為非空約束;

unique(約束欄位1,約束欄位2) //加入約束欄位1,2 1和2同時相同時重複

);

給約束起名

create table 表名(

constraint 表名_欄位名1_欄位名2_unique unique(欄位名1,欄位名2)

);

唯一約束和非空約束

create table 表名(

欄位名 字段型別 字段長度 not null unique //字段長度後加not null即為非空約束,在加上唯一約束;

);

主鍵約束

新增主鍵primary key的字段既不能重複也不能為空,新增主索引

create table 表名(

欄位名 字段型別 字段長度,

primary(字段)

);

create table 表名(

欄位名 字段型別 字段長度,

constraint 主鍵名 primary(字段) //給主鍵命名

);

主鍵根據性質分類:自然主鍵,業務主鍵

自然主鍵:主鍵值若是乙個自然數,並且這個自然數與業務沒有任何關係,這種主鍵稱為自然主鍵

業務主鍵:主鍵值若和當前表中的業務緊密相關,那麼這種主鍵值就是業務主鍵,如果業務發生改變時,業務主鍵往往會受到影響。

mysql中自動生成主鍵值

create table 表名(

欄位名 字段型別 字段長度 primary key auto_increment //自動生成主鍵值 從0逐漸增加 0 1 2...

);

外來鍵約束

create table 表名1(

欄位名 字段型別 字段長度,

constraint 表名2_欄位_fk foreign key(欄位名1) references 表名2(欄位名2)

);create table 表名2(

欄位名 字段型別 字段長度 primary key

);

有外來鍵引用之後,表分為父表和子表,建立表時先建立父表在刪除子表,插入資料時先插入父表資料在插入子表資料

刪除外來鍵

alter talbe 表名 drop foreign key 外鍵名;
級聯刪除:在刪除父表資料時,級聯刪除字表資料

alter talbe 表名 add constraint 外鍵名 foreign key(欄位名1) references 表名2(欄位名2) on delete cascade;
級聯更新

alter talbe 表名 add constraint 外鍵名 foreign key(欄位名1) references 表名2(欄位名2) on update cascade;
索引:提高程式的檢索或查詢效率

主鍵自動新增索引,能夠通過主鍵查詢就通過主鍵查詢,效率較高

表的索引方式:全表掃瞄,通過索引檢索

建立索引

create (unique) index 索引名 on 表名(別名);
檢視索引

show index from 表名;
刪除索引

drop index 索引名 on 表名;
建立檢視

create view 檢視名 as 查詢語句;
刪除檢視

drop view 檢視名;
事務特徵acid

1.原子性:事務是最小單位,不可再分

2.一致性:事務要求所有的dml語句操作的時候,必須保證同時成功或同時失敗

3.隔離性:乙個事務不影響其他事務的執行

4.永續性:事務完成後,該事務對資料庫所做的更改將持久的保持在資料庫中,不會被回滾

事務sql語句commit 成功提交 rollback 失敗回滾

事務隔離級別: 1.讀未提交 2.讀已提交 3.可重複讀 4.序列化

mysql 資料庫操作和一些命令

建立資料庫create if not exists dbname default character set charsetname 注 表示可選 必選 或 檢視當前伺服器下資料庫 show 檢視指定資料的定義 show create dbname 得到當前資料庫名稱 select database...

mysql 資料庫效能檢視以及一些SQL

主要方法 show status show profile 檢查慢查詢日誌 檢測執行的sql,具體那個位置比較慢 select from phone sts 資料庫版本 select version 查詢sql對資源的占用情況 show profiles 查詢當前sql執行過程中的時間消耗 show...

MySQL資料庫常使用的一些命令

一 資料庫連線 命令 mysql u使用者名稱 p密碼 mysql h伺服器 u使用者名稱 p密碼 mysql h伺服器 p埠 u使用者名稱 p密碼 d資料庫名 說明 連線到mysql資料庫伺服器,如果指定了 d資料庫 引數,會將指定的資料庫設為活動資料庫。例子 mysql hlocalhost p...