數據庫的引擎數據庫
innordb 兩個文件安全
1.什麼是數據庫的事務?併發
事務是支持多用戶的共享機制,在修改的時候要加select排序
2.什麼是行級鎖?事務
在共同相處理同一行的數據的時候咱們須要在行內加鎖以保證數據的安全,可是在修改的時候修改者都要帶一個行級鎖的鑰匙,否則是沒有辦法去修改數據的 rem
對於少許的數據的的併發修改效率更高字符串
可是對於整個表的大量數據字段修改反而拖慢了速度it
3.如何建立外鍵?table
create table (表名)效率
myisam 5.5版本下默認的儲存引擎 會生成三個文件
查詢速度
memory存儲引擎
斷電消失
blakhole 引擎
多級主從複製 若是以後幾臺的時候是沒有必要添加的由於沒有太大的意義
存啥啥沒
數據庫在讀寫數據的時候的效率差:
數據庫在寫的時候是比讀的時候慢不少的因此要作讀寫分離
表結構的操做:
數據類型:
數字:int float
字符串:char 優先 定長 :存取快,消耗空間 varchar 變長.存取慢,節省空間
時間:datetime timestame 能表示的時間戳比較短2038年就結束了因此通常不用
問題:在作月統計的時候你通常用什麼數據類型來存儲時間?
用datetime,由於能夠直接查日 月 天操做方便
枚舉和集合
enum : create table (gender enum("male","female"))
set 集合多選去重
約束條件:
非空: not null
默認值: default
惟一: unique
聯合惟一 unique (字段1,字段2)
惟一+int 自增 auto_increment
主鍵: primatry
刪除表結構: drop table 表名
修改表結構:
alter table 表名
查看錶結構:
desc 表名
數據庫的記錄操做
增:
insert into 表(字段) values (值1,值2),(值1,值2)
刪:
delete from table where 條件
delete from table 刪除整個表中的數據
改:
update 表 set 字段
查:
單表:
select * from 表
where 條件
group by 字段
having 過濾條件
order by 排序
limit 取前幾條
order by 和limit會拖慢查尋的速度由於都會總體查詢一邊
多表: 連續查詢 子查詢