中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫(二)

發布時間:2020-07-29 14:34:31 來源:網絡 閱讀:490 作者:ww魏偉 欄目:MySQL數據庫

#######################################

Mysql-索引類型

  索引類似于“書的目錄”
  索引的優點   加快查詢的速度
  索引的缺點   減慢寫的速度(占用物理存儲空間)
  (1)普通索引
  a.創建表時直接設置普通索引
  create table stu(
  >age int,
  >name char(8),
  >index(age));   給age字段創建普通索引,索引名為age
  show index from stu   查看索引
  desc stu     /age 字段的key 為MUL

  b.創建表之后給字段設置普通索引
  create index name(索引名) on stu(age(字段名));  

  c.刪除普通索引
  drop index name on stu;

  (2)主鍵
  主鍵特點:字段內不能有重復值,而且不能賦空值 如果表里已經有主鍵,不能在創建主鍵。

  a.創建表時直接設置主鍵
  create table stu(
  >age int,
  >name char(8),
  >primary key(name));   給name字段創建主鍵
  desc stu;     /name字段的key為PRI

  b.創建表之后給字段創建主鍵
  alter table stu add primary key(name);

  c.刪除主鍵
  alter table stu drop primaru key;  /刪除主鍵后,值可以重復,但不能賦空值
  alter table stu modify name char(8);   /如果想賦控制,繼續修改字段

  d.復合主鍵:多個字段一起做主鍵,字段的值不允許同時重復
  create table stu(
  >port int,
  >cip char(15),
  >status enum("up","down") default "up"
  >primary key(port,cip));     同時設置兩個主鍵,不能一個一個設置   
  desc stu;     
 insert into stu(port,cip) values(23,"1.1.1.1");
 ok
 insert into stu(port,cip) values(24,"1.1.1.1");
 ok
 insert into stu(port,cip) values(24,"1.1.1.2");
 ok
 insert into stu(port,cip) values(24,"1.1.1.1");   復合主鍵時,一個字段內的值可以重復,但不能多字段內的值同時重復
 error

  e.主鍵與 auto_increment(自加1)連用   一般用于id序號  使用auto_increment 前提是必須要是主鍵且是數值類型
   create table stu(
  >id int(2) zerofill primary key auto_increment,   /int()里面表示顯示寬度,不能夠限制給字段賦值的大小,大小由類型決定。
                                zerofill  用0 補位
  >port int);
  insert into stu(port) values(24);
  desc stu;   
  select * from stu;
  +++++++++++
  id   port
    01     24
  +++++++++++

  (3)唯一索引 unique
  特點:字段可以賦空值,但不能出現重復
  a.創建表時直接設置普通索引
  create table stu(
  >age int,
  >name char(8),
  >unique index(name));   給name字段創建唯一索引
  desc stu;     /name 字段的key 為 UNI

  b.創建表之后給字段設置唯一索引
  create unique index name(索引名) on stu(name(字段名));  

  c.刪除唯一索引
  drop index name on stu;

(4)外鍵
作用:限制給字段賦值。值必須在指定字段值的范圍里選擇
存儲引擎必須為 innodb
a.創建表時直接設置主鍵

  指定參考表
  create table t1(
  >age int,
  >primary key(age)   參考表的參考字段要是索引的一種
  >)engine=innodb;   /設置表t1存儲引擎為engine=innodb

創建表t2
 create table t1(
  >age int,
  >name char(8),
  >foerign key(age) references t1(age)  創建外鍵
  >on update cascade   同步更新
  >on delete cascade   同步刪除
  >)engine=innodb;   /設置表t1存儲引擎為engine=innodb     
創建成功后 t2表的age字段的值必須在t1age字段的范圍內,t1 age字段的值更新或者刪除 t2表相應發生變化(更新或刪除)
 b.創建表之后給字段創建主鍵
  alter table stu add foreign key(age) references t1(age) on update cascade on delete cascade;

  c.刪除主鍵
  show create table t2;  /查看建表過程
  CONSTRAINT `t5_ibfk_1` FOREIGN KEY  找出t5_ibfk_1
  alter table stu drop froeign key t5_ibfk_1;  /刪除外鍵。刪除后t2表不再受約束。

#############################################

Mysql存儲引擎

show engines;  /查看存儲引擎  默認為innodb

mysql服務體系結構:(8個功能模塊)
連接池
sql接口  
分析器
優化器
查詢緩存
存儲引擎
文件系統
管理工具

存儲引擎介紹:mysql數據庫服務軟件自帶的程序。
                   不同的存儲引擎有不同的功能和數據存儲方式
                   是表的處理器

    設置表的存儲引擎:
create  table  表名(。。。。)engine=innodb;

修改表的存儲引擎
alter  table  表名  engine=存儲引擎名;

修改表的默認存儲引擎
/etc/my.cnf
default-storage-engine=myisam    

myisam特點:
表.MYI   索引信息
表.MYD  數據
表.frm   表結構
支持表級鎖 (鎖一張表)
不支持事務  事務回滾

innodb特點:
表.frm   表結構
表.ibd   索引信息+數據
支持行級鎖 (只給當前被訪問的行加鎖) 
支持事務  事務回滾

鎖的作用:解決并發訪問沖突問題。

鎖類型 :讀鎖       和   寫鎖
       select       update delete insert

事務: 一次數據訪問從開始到結束的過程 稱為事務
事務回滾:  一次數據訪問 任意一步執行失敗,恢復所有操作。
事務的特性:  一致性  原子性  隔離性

事務日志文件:記錄對innodb存儲引擎的表執行過的操作。

工作如何如何決定表使用的存儲引擎:
接收寫操作多的表適合使用innodb存儲引擎。
接收讀操作多的表適合使用myisam存儲引擎
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂荣县| 陈巴尔虎旗| 乌什县| 万源市| 许昌县| 景洪市| 博罗县| 乐安县| 麟游县| 彰武县| 铜川市| 磴口县| 安徽省| 宝坻区| 神农架林区| 古田县| 那坡县| 衡水市| 安阳县| 神木县| 揭阳市| 稷山县| 收藏| 抚宁县| 铜山县| 雷波县| 石棉县| 吉首市| 麻栗坡县| 广宗县| 台南市| 黄平县| 新田县| 呼伦贝尔市| 武邑县| 拉孜县| 姜堰市| 高台县| 临安市| 清镇市| 游戏|