[TOC]
>[success]表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。
## 創建表
**創建MySQL數據表需要以下信息:**
1. 表名
2. 表字段名(至少一個)
3. 定義每個表字段(類型,修飾)
**實例**
~~~
mysql> CREATE TABLE stu (id int(5),name char(20));
~~~
## 顯示表結構
~~~
mysql> desc stu;
~~~
## 刪除表
~~~
mysql> drop table stu;
~~~
## 表修飾
### default
設置字段的默認值,如果沒有向這個字段插入內容,將使用默認值
### unique
UNIQUE約束唯一標識數據庫表中的每條記錄。一個表中可以有多個字段使用unique約束
### primary key
約束唯一標識數據庫表中的每條記錄。主鍵必須包含唯一的值。主鍵列不能包含 NULL 值。每個表都應該有一個主鍵,并且每個表只能有一個主鍵。
### zerofill
用前導0填充數值以達到指定的顯示位數,使用這個修飾符可以阻止 MySQL 數據庫存儲負值。
### unsigned
unsigned 修飾符規定字段只保存正值。因為不需要保存數字的正、負符號,可以在儲時節約一個“位”的空間。仍而增大這個字段可以存儲的值的范圍
### AUTO_INCREMENT
我們通常希望在每次插入新紀錄時,自動地創建主鍵字段的值。我們可以在表中創建一個auto-increment字段。默認地AUTO_INCREMENT 的開始值是1,每條新紀錄遞增 1。
當插入記錄時,如果為AUTO_INCREMENT數據列明確指定了一個數值,則會出現兩種情況,情況一,如果插入的值不已有的編號重復,則會出現出錯信息,因為AUTO_INCREMENT數據列的值必須是唯一的;情況二,如果插入的值大亍已編號的值,則會把該插入到數據列中,并使在下一個編號將仍這個新值開始遞增。也就是說,可以跳過一些編號。
**完整實例**
~~~
mysql>CREATE TABLE `stu` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` char(20) NOT NULL DEFAULT '1' COMMENT '學生名',
`sex` enum('男','女','保密') NOT NULL DEFAULT '保密' COMMENT '性別',
`age` int(3) unsigned NOT NULL COMMENT '年齡',
`qq` varchar(11) NOT NULL COMMENT 'qq',
`score` int(3) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='學生表';
~~~
## 復制表結構
~~~
mysql>create table stu_copy like stu;
~~~
復制一個跟stu表結構一樣的另外一張表,不包含數據。
## 復制表數據
~~~
mysql>insert into stu_copy select * from stu;
~~~
復制表數據到另外一張表。
## 創建表同時復制數據
~~~
mysql>create table stu_copy select * from stu;
~~~
復制一個跟stu表結構一樣的另外一張表,包含數據。
>[danger]練習:創建一個學校的數據庫 school。
創建學生表,包含字段id,學生姓名,性別,年齡。
創建學生日記表,包含id 標題,內容,查看次數。
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板