新增欄位----add
alter table test add column gender varchar(2)
刪除欄位------drop
alter table test drop column gender
修改字段型別----modify
alter table test modify column gender char(2)
修改欄位名稱----change
alter table test change column gender sgender char(2)
修改表名稱
alter table test rename to student
刪除資料
delete from test(刪除全部資料)只能刪除表的資料,不能刪除表的約束
delete from test where id = 1;
drop table test;刪除表
truncate table test;可以刪除表的資料和約束,不能回滾
null和空字串的區別:
null:表示沒有值。判斷null is null
空字串:有值。判斷空字串,address=「」
模糊查詢:like
%和_%表示任意個字元
_表示沒有乙個字元
count函式統計的數量不包含null的資料
新增外來鍵約束的語法
constraint 外來鍵名稱 foreign key(本表字段) references 引用表的表名(字段)
新增資料:先新增主表,再新增副表
修改資料:先修改副表,再修改主表
刪除資料:先刪除副表,再刪除主表
級聯修改: on update cascade
級聯刪除: on delete cascade
constraint emlyee_dept_fk foreign key(deptid) references dept(id) on update cascade on delete cascade -- on cascade update :級聯修改,級聯刪除
第一正規化: 要求表的每個字段必須是不可分割的獨立單元
第二正規化: 在第一正規化的基礎上,要求每張表只表達乙個意思。表的每個欄位都和表的主鍵有依賴
第三正規化: 在第二正規化基礎,要求每張表的主鍵之外的其他欄位都只能和主鍵有直接決定依賴關係。
左[外]連線查詢: 使用左邊表的資料去匹配右邊表的資料,如果符合連線條件的結果則顯示,如果不符合連線條件則顯示null
-- (注意: 左外連線:左表的資料一定會完成顯示!)
select
d.deptname,e.empname
from dept d
left outer join employee e
on d.id=e.deptid;
右[外]連線查詢: 使用右邊表的資料去匹配左邊表的資料,如果符合連線條件的結果則顯示,如果不符合連線條件則顯示null
-- (注意: 右外連線:右表的資料一定會完成顯示!)
select d.deptname,e.empname
from employee e
right outer join dept d
on d.id=e.deptid;
Mysql學習筆記一
最近在學習mysql,以後工作會慢慢往這方面轉向,所以提前預習。現在全世界都喊著去ioe,所以咱也必須提前做個準備。衝.第一章基礎知識 1 改變表結構 增加列 alter table test add name char 6 更改列定義 alter table test change year bo...
Mysql學習筆記(一)
一 mysql學習筆記 觸發器 觸發器四要點 1.監視誰 table 2.監視事件 insert update delete 3.觸發時間 after before 4.觸發事件 insert update delete 語法 create trigger 觸發器名稱 after before 觸發...
Mysql學習筆記一
一 mysql資料型別 1 整數 浮點數 定點型別 1個位元組佔8位,漢字佔兩個位元組 16位 正數定義成unsigned 定點數 decimal m,d m表示總長度 d表示小數字 存入的時候四捨五入計算 範圍與double相同 例子 decimal 5,2 123.45 2 日期與時間 一般用d...