2020 8 12MySQL資料庫資料管理

2021-10-09 03:30:45 字數 2272 閱讀 4334

建立外來鍵:

方法一:建立子表的同時建立外來鍵:

方法二:建立子表完畢後,修改子表新增外來鍵:

2.刪除外來鍵:

刪除具有主外來鍵關係的表時,要先刪除子表,後刪除主表

刪除外來鍵:刪除外來鍵的同時,刪除外來鍵的索引

alter table student drop foreign key pk_gradeid;

alter table student drop index pk_gradeid;

2.1查詢**有外表:

開啟infromation_schema

輸入:select * from key_column_usage;

select table_schema,table_name,constraint_name,

referenced_table_schema,referenced_table_name

from key_column_usage where referenced_table_name=『grade2』;

3.新增資料:

insert into 表名(欄位1,欄位2,欄位3…)values(『值1』,『值2』,『值3』…)

欄位或值之間用英文逗號隔開

■「欄位1, 字段…該部分可省略(當該字段自增的時候,可以省略,後面對應的值也不用寫,當每個欄位都需要插入值,則欄位名也不用寫),但新增的值務必與表結構資料

列順序相對應,且數量-致

■可同時插入多條資料, values後用英文逗號隔開

now():函式,顯示當前時間

4.修改資料:

update 表名 set column_name=value[,column_name2=value2,…];

[whier condition];

■column_ name為要更改的資料列

■value 為修改後的資料,可以為變數、具體值、表示式或者巢狀的select結果

■condition為篩選條件 ,如不指定則修改該錶的所有列資料

while中的運算子:

還可以通過函式修改內容

update student set studentname=concat(『姓名:』,studentname);

updatestudentset ***=2

wherestudentno>=1001 and studentno<=1003

等同於updatestudentset ***=1

wherestudentnobetween 1001 and 1003

5.刪除資料庫:

delete from 表名[where condition];

delete from ***;(會記錄日誌)

刪除表全部資料(不帶where條件的delete)

自增當前值依然從原來的基礎上進行

truncate table ***;

刪除表全部資料(truncate)

自增值恢復到初始值重新開始

truncate命令

■用於完全清空表資料,但表結構、索引、約束等不變

■語法:

truncate [table] table_ name

注意◆區別於delete命令

■相同:

都能刪除資料、不刪除表結構,但truncate速度更快

■不同:

使用truncate table重新設定auto_ increment計數器

且不可以搭配where使用

●使用truncate table不會對事務有影響

注意:重啟資料庫服務後 tab1:1,2,3; tab2:7,8,9

同樣使用delete from清空表資料,重啟資料庫服務後,對於innodb的表,自增列從初始值重新開始

而myisam型別的表,自增列依然從上乙個自增資料基礎上開始

原因:innodb將自增的當前最大值放入到記憶體中,myisam則是將最大值放入到檔案中

備份:create table tmp_testd as select * from testd;//將testd的表中所有內容備份

但是無法原來中的主鍵將自動消除;

三種查表方式:

show create table 表名;檢視**

desc 表名:檢視表中列的屬性索引

select * from 表名:檢視表中插入的內容;

給已經建成的表中增加主鍵:

alter table subject2 add primary key(subjectno);

mysql資料庫效能資料 MYSQL資料庫效能優化

1.選取最適用的字段屬性 表中字段的寬度設得盡可能小 char 的上限為 255 位元組 固定占用空間 varchar 的上限 65535 位元組 實際占用空間 text 的上限為 65535。盡量把字段設定為 not null,執行查詢的時候,資料庫不用去比較 null 值。2.使用連線 join...

MySQL資料庫使用 MySQL資料庫管理

開發時一般不使用系統的root使用者,應該是建立乙個新的使用者,管理乙個工程。登入使用者的命令 mysql uusername p 登入完成後就進入sql命令格式,格式以 結尾。windows用安裝的時候設定的root登入命令列,如下圖所示。linux安裝時若沒有提示設定root密碼的,可以使用系統...

MySQL資料庫 一 MySQL資料庫簡介

mysql資料庫是常見的資料庫,對mysql資料庫的學習主要從下面幾方面展開,記得點開檢視哦!1.mysql c s架構 mysql的架構是c s架構,即客戶端 伺服器的架構 在root使用者下進行 mysql字元編碼 檢視mysql預設的字元編碼 預設的字元編碼是latin1 show varia...