MySQL入門 五 CRUD 與資料維護

2021-08-28 01:29:10 字數 2114 閱讀 8177

「describe」是mysql資料庫提供的指令,它只能在mysql資料庫中使用,這個指令可以取得某個**的結構資訊,它的語法是這樣的:

你在mysql的工具中執行「desc cmdev.dept」指令以後,mysql會傳回「cmdev.dept」**的結構資訊:

每乙個**在設計的時候,都會決定它有哪一些字段,和所有欄位的詳細設定。

另外也會決定**中的字段順序,知道**字段順序在接下來的討論中是很重要的:

注:如何建立乙個新的**會在「第八章、**與索引」中討論。

新增資料到資料庫的**中使用「insert」敘述,下列是這個敘述的基本語法:

使用這個語法新增紀錄的時候,要特別注意**的字段個數與順序,下列的新增敘述會新增一筆部門的紀錄到「cmdev.dept」**中:

除了明確的指定新增紀錄的每乙個字段資料外,你也可以使用「default」關鍵字,讓mysql為你寫入在設計**的時候,為字段指定的預設值。

下列的新增敘述同樣會新增一筆部門的紀錄到「cmdev.dept」**中,不過部門的所在位置(location)字段值指定為使用預設值:

使用這種語法新增紀錄的時候,如果資料個數與字段個數不一樣的話,就會發生錯誤:

資料個數雖然沒有錯,順序卻不對了,也有可能會造成錯誤:

新增敘述的另外一種語法,就提供比較靈活的新增紀錄方式,你可以自己指定新增紀錄的字段個數和順序:

在你額外為這個新增敘述指定字段以後,指定儲存資料的時候就要依照自己指定的字段個數與順序:

如果沒有依照自己指定的字段個數與順序,就會發生錯誤:

因為這種新增敘述的語法可以自己指定欄位的個數與順序,所以你只要指定寫入欄位的資料就可以了。

不過要特別注意下列兩種語法的差異:

也因為這樣的規定,所以下列這個新增敘述在語法上雖然沒有錯誤,如果違反**設計上的規定,同樣會造成錯誤:

這種新增敘述的語法還有乙個比較特別的用法,如果你要新增的紀錄,所有欄位的值都要使用預設值,就可以使用下列的寫法。

不過要特別注意下列的新增敘述執行以後會造成錯誤,因為「deptno」與「dname」欄位的預設值是「null」,可是它們又不能儲存「null」:

下列是新增敘述的第三種語法:

這種語法只是提供你另外一種新增紀錄的寫法,下列兩個新增敘述的效果是一樣的:

更多參考:

mysql 超新手入門教程系列

mysql入門 (一) : 資料庫概論與mysql的安裝

mysql入門 (二) : select 基礎查詢

mysql入門 (三) : 表示式與函式

mysql入門 (四) : join 與union 查詢

mysql入門 (六) : 字符集與資料庫

本文**:mysql入門 (五) : crud 與資料維護

Mysql資料庫操作CRUD

一 資料庫建立 1 建立資料庫 create database 資料庫名稱 2 建立資料庫並檢查是否存在,如果不存在就建立,存在就不建立。create database if not exists 資料庫名稱 3 建立資料庫檢查是否存在並指定字符集 create database if not ex...

Mysql資料表操作CRUD

一 建立資料表 1 建立表 create table student id int 11 not null auto increment,name varchar 20 not null,age int 11 not null,score double 4,1 not null,borthday d...

mysql資料庫(入門)五

一對一 練習 請設計表儲存以下資料 create table userinfo userid int,nick varchar 10 tel varchar 15 address varchar 20 insert into user values null,wukong 123456 null,b...