MySQL資料庫上:DDL語句的基礎鞏固,mysqlddl

來源:互聯網
上載者:User

MySQL資料庫上:DDL語句的基礎鞏固,mysqlddl

               SQL語言套件括四種主要程式設計語言類別的語句:資料定義語言 (Data Definition Language)(DDL),資料操作語言(DML),資料控制語言(DCL)和事務控制語言。

      資料庫模式定義語言DDL(Data Definition Language),是用於描述資料庫中要儲存的現實世界實體的語言。一個資料庫模式包含該資料庫中所有實體的描述定義。資料庫模式定義語言並非程式設計語言,DDL資料庫模式定義語言是SQL語言(結構化程式設計語言)的組成部分。

      下面給出一個完整的DDL語句練習過程,在MySQL6測試通過:      

//建立資料庫create database if not exists mydb;//刪除資料庫 drop database mydb;//使用資料庫use mydb;//建表 create table tb1 ( id int, name varchar(255) default 'anonymity', info text );//查看該資料庫的表 show tables; //查看錶結構 desc tb1; //截斷表:刪除表內所有資料但是保留表結構。(DDL)相對於delete(DML)執行效率更高 truncate tb1; //添加主鍵約束 alter table tb1 modify id int primary key; //添加唯一約束,即不允許出現重複值,但是可以出現多個null,因為null不等於null alter table tb1 modify name varchar(255) unique;  //建表並添加主鍵、外鍵約束 create table tb2 ( id int primary key auto_increment, fid int, name varchar(255) default 'anonymity' not null, info text, #建立外鍵約束,約束名為tb2_fk, constraint tb2_fk foreign key(fid) references tb1(id) ); //刪除外鍵約束 alter table tb2 drop foreign key tb2_fk; //添加外鍵約束 alter table tb2 add foreign key(fid) references tb1(id);


MySQL對check約束的支援並不太好,雖然可以定義此約束,單沒有任何作用

 //添加check約束,會添加成功,但不會生效 alter table tb1 add check(id>5); //下面可以正常執行 insert into tb1 values(1,'a','one');

而Oracle資料庫可以正常使用check約束,下面是Oracle 10g 的運行效果:

 //oracle資料庫支援check約束 create table tb3(id number(8),name varchar(255),check(id>100));//不滿足check約束將會出錯insert into tb3 values(600,'six');insert into tb3 values(6,'six');

下面是控制台的輸出:

-------------------------------------------------------------------------------------SQL> create table tb3  2  (  3  id number(8),  4  name varchar(255),  5  check(id>100)  6  );Table createdSQL> insert into tb3 values(6,'six');insert into tb3 values(6,'six')ORA-02290: check constraint (SCOTT.SYS_C005457) violatedSQL> insert into tb3 values(600,'six');1 row inserted-------------------------------------------------------------------------------------



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.