建立外來鍵:
方法一:建立子表的同時建立外來鍵:
方法二:建立子表完畢後,修改子表新增外來鍵:
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);
updatestudent
set ***=2
wherestudentno
>=1001 and studentno<=1003
等同於updatestudent
set ***=1
wherestudentno
between 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...