程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL入門教程(五)之表的創立、修正和刪除

MySQL入門教程(五)之表的創立、修正和刪除

編輯:MySQL綜合教程

MySQL入門教程(五)之表的創立、修正和刪除。本站提示廣大學習愛好者:(MySQL入門教程(五)之表的創立、修正和刪除)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL入門教程(五)之表的創立、修正和刪除正文


MySQL 為關系型數據庫(Relational Database Management System), 這類所謂的"關系型"可以懂得為"表格"的概念, 一個關系型數據庫由一個或數個表格構成。

表是DB存儲數據的根本單元,一個表包括若干個字段或記載。表的操作包含創立、修正和刪除。

  1、創立表

  創立表即在已存在的數據庫中創建新表。在應用USE語句選擇詳細數據庫後,可使用它SQL語句創立表

  個中,屬性名指表中字段的稱號,數據類型即對應字段的數據類型,完全性束縛前提指對應字段的某些特別束縛前提。

  MySQL中根本的完全性束縛前提有

  1.1 設置表的主鍵

  主鍵是表的一個特別字段,該字段能獨一地表現該表中的每條信息,即主鍵好像表中記載的身份證。主鍵的重要目標在於贊助MySQL以最快的速度查找表中的某一條信息。主鍵必需按知足獨一性,表中隨意率性提兩筆記錄的主鍵字段的值弗成雷同,主鍵的值為非空值。主鍵可所以單一的字段也能夠是多個字段的組合。

  關於單字段主鍵只需在創立表時應用部屬語句便可

  屬性名 數據類型 PRIMARY KEY

  關於多字段主鍵,要在屬性界說完後同一設置主鍵,如

  即用stu_id和course_id兩個字段組合來獨一肯定一筆記錄。

  1.2 設置表的外鍵

  假如字段a是表A的屬性,且依附於表B的主鍵,那末,稱表B為父表,表A為子表,a為表A的外鍵。經由過程字段a將父表B和子表A樹立了聯系關系關系,即外鍵的感化在於樹立該表與其父表的聯系關系關系。當父表中刪除某條信息時,子表中與之對應的信息也必需有響應的轉變,來包管信息的完全性。

  在創立表時的設置外鍵的根本語法為

  個中,外鍵別號指外鍵的代號,屬性一列表指子表中設置的外鍵,屬性二列表指父表的主鍵,而表名指父表的稱號。如


 留意,子表的外鍵聯系關系的必需是父表的主鍵,且數據類型必需分歧。

  1.3 設置表的非空束縛

  非空性指字段的值不克不及為空值NULL。根本語法為

  屬性名 數據類型 NOT NULL

  當在有非空束縛的字段上拔出的記載對應當字段的值為空時,體系將保留其實不接收此次拔出。

  1.4 設置表的獨一性束縛

  獨一性是指一切記載中該字段的值弗成反復湧現。根本語法為

  屬性名 數據類型 UNIQUE

  1.5 設置表的屬性值主動增長

  AUTO_INCREMENT是MySQL數據庫中的一個特別束縛前提,重要用於為表中拔出的新記載主動生成獨一的ID。根本語法為

  屬性名 數據類型 AUTO_INCREMENT

  一個表只能有一個字段應用該束縛,且該字段必需為主鍵的一部門,該字段可所以任何整數類型。默許情形下,該字段的值從1開端自增。假如第一筆記錄設置了該字段的初值,則後續新增長的記載就從初值開端自增。

  1.6 設置表的屬性的默許值

  關於設定了默許值的字段,在新拔出記載時假如沒無為這個字段賦值,則體系主動為其付與此默許值。根本語法為

  屬性名 數據類型 DEFAULT 默許值

  2、檢查表構造

  檢查表構造指檢查DB中已存在的表的界說,包含DESCRIBE語句和SHOW CREATE TABLE語句。

  2.1 DESCRIBE語句

  可檢查表的根本界說,包含字段名、字段數據類型、能否為主外鍵、默許值和額定信息。

  根本語法為

  DESCRIBE 表名;

  2.2 SHOW CREATE TABLE語句

  可檢查表的具體界說,包含字段名、字段數據類型、完全性束縛前提等界說時的信息,和默許的存儲引擎和字符編碼。異樣可用\G開頭取代;使得顯示成果更雅觀。

  3、修正表

  修正表是指修正數據庫中已存在的表的界說。

  經由過程Alter Table語句來修正表,包含修正表名、修正字段數據類型、修正字段名、增長字段、刪除字段、修正字段的分列地位、更改默許存儲引擎和刪除表的外鍵束縛等。

  3.1 修正表名

  語法為

  ALTER TABLE 舊表名 RENAME [TO] 新表名;

  個中To是可選參數,其能否在語句中湧現不會影響語句的履行。

  3.2 修正字段名

  根本語法為

  ALTER TABLE 表名 Change 舊屬性名 新屬性名 新數據類型;

  假如只修正字段名不修正字段數據類型,則堅持新數據類型與本來分歧便可。

  3.3 修正字段的數據類型

  根本語法為

  ALTER TABLE 表名 MODIFY 屬性名 新數據類型;

  3.4 增長字段

  根本語法為

  ALTER TABLE 表名 ADD 屬性名1 數據類型 [完全性束縛前提] [FIRST | AFTER 屬性名2];

  個中FIRST為可選參數,用於將新增字段設置為表的第一個字段,AFTER屬性名2也為可選參數,用戶將新增字段放到屬性名2前面,假如這兩個可選參數都不選,新增字段將默許放到表的最初一個字段。

  現實上,關於一個數據表而言,個中字段的分列次序對表不會有甚麼影響,只是關於創立的人來講,將有某種直接或直接接洽的字段放在一路,便於懂得這個表的構造。

  3.5 增長字段

  根本語法為

  ALTER TABLE 表名 DROP 屬性名;

  3.6 修正字段的分列地位

  根本語法為

  ALTER TABLE 表名 MODIFY 屬性名1 數據類型 FIRST | AFTER 屬性名2;

  3.7 更改表的存儲引擎

  根本語法為

  ALTER TABLE 表名 ENGINE=新存儲引擎名;

  假如一個表中曾經存在了許多數據,最好不要隨意馬虎更改其存儲引擎。

  3.8 刪除表的外鍵束縛

  即斷開表與其父表之間的聯系關系關系根本語法為

  ALTER TABLE 表名 DROP FOREIGN KEY 外鍵別號;

  4、刪除表

  刪除表會刪除表中的一切數據,因為創立表時能夠存在外鍵束縛,一些表成了與之聯系關系的表的父表,要刪除這些父表,情形比擬龐雜。

  4.1 刪除沒有被聯系關系的通俗表

  根本語法為

  DROP TABLE 表名;

  4.2 刪除被聯系關系的父表

  此時因為有外鍵依附於該表,用4.1的刪除語法會報錯。

  刪除此類父表普通有兩種辦法:直接先將與之聯系關系的子表刪除再刪父表,或許先刪除子表的外鍵束縛再刪父表,普通我們采用第二種辦法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved