一. 庫的操作 1.創建資料庫 創建資料庫: create database 庫名 charset utf8; charset uft8 可選項 1.2 資料庫命名規範: 可以由字母、數字、下劃線、@、#、$ 區分大小寫 唯一性 不能使用關鍵字如 create select 不能單獨使用數字 最長1 ...
一. 庫的操作
1.創建資料庫
創建資料庫:
create database 庫名 charset utf8; charset uft8 可選項
1.2 資料庫命名規範:
可以由字母、數字、下劃線、@、#、$
區分大小寫
唯一性
不能使用關鍵字如 create select
不能單獨使用數字
最長128位
2.資料庫基本操作:
1 查看資料庫 show databases; show create database db1; select database(); 2 選擇資料庫 USE 資料庫名 3 刪除資料庫 DROP DATABASE 資料庫名; 4 修改資料庫 alter database db1 charset utf8;
二. 表的操作:
表相當於文件,表中的一條記錄就相當於文件的一行內容,表中的一條記錄有對應的標題,稱為
第一行的cid cname teacher_id 是欄位, 其餘每一行 都是一條記錄.
創建表:
#語法: create table 表名( 欄位名1 類型[(寬度) 約束條件], 欄位名2 類型[(寬度) 約束條件], 欄位名3 類型[(寬度) 約束條件] ); #註意: 1. 在同一張表中,欄位名是不能相同 2. 寬度和約束條件可選、非必須,寬度指的就是欄位長度約束,例如:char(10)裡面的10 3. 欄位名和類型是必須的
# 事例 mysql> create database db1 charset utf8; mysql> use db1; mysql> create table t1( -> id int, -> name varchar(50), -> sex enum('male','female'), -> age int(3) -> ); mysql> show tables; #查看db1庫下所有表名 mysql> desc t1; +-------+-----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(50) | YES | | NULL | | | sex | enum('male','female') | YES | | NULL | | | age | int(3) | YES | | NULL | | +-------+-----------------------+------+-----+---------+-------+ mysql> select id,name,sex,age from t1; Empty set (0.00 sec) mysql> select * from t1; Empty set (0.00 sec) mysql> select id,name from t1; Empty set (0.00 sec)
查看表結構:
mysql> describe t1; #查看表結構,可簡寫為:desc 表名 +-------+-----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(50) | YES | | NULL | | | sex | enum('male','female') | YES | | NULL | | | age | int(3) | YES | | NULL | | +-------+-----------------------+------+-----+---------+-------+ mysql> show create table t1\G; #查看表詳細結構,可加\G
插入數據
mysql> insert into t1 values -> (1,'chao',18,'male'), -> (2,'sb',81,'female') -> ; mysql> select * from t1; +------+------+------+--------+ | id | name | age | sex | +------+------+------+--------+ | 1 | chao | 18 | male | | 2 | sb | 81 | female | +------+------+------+--------+ mysql> insert into t1(id) values -> (3), -> (4); mysql> select * from t1; +------+------+------+--------+ | id | name | age | sex | +------+------+------+--------+ | 1 | chao | 18 | male | | 2 | sb | 81 | female | | 3 | NULL | NULL | NULL | | 4 | NULL | NULL | NULL | +------+------+------+--------+
修改表: alter table 都是固定的語法格式
語法: 1. 修改表名 ALTER TABLE 表名 RENAME 新表名; 2. 增加欄位 ALTER TABLE 表名 ADD 欄位名 數據類型 [完整性約束條件…], #註意這裡可以通過逗號來分割,一下添加多個約束條件 ADD 欄位名 數據類型 [完整性約束條件…]; ALTER TABLE 表名 ADD 欄位名 數據類型 [完整性約束條件…] FIRST; #添加這個欄位的時候,把它放到第一個欄位位置去。 ALTER TABLE 表名 ADD 欄位名 數據類型 [完整性約束條件…] AFTER 欄位名;#after是放到後的這個欄位的後面去了,我們通過一個first和一個after就可以將新添加的欄位放到表的任意欄位位置了。 3. 刪除欄位 ALTER TABLE 表名 DROP 欄位名; 4. 修改欄位 ALTER TABLE 表名 MODIFY 欄位名 數據類型 [完整性約束條件…]; ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 舊數據類型 [完整性約束條件…]; #change比modify還多了個改名字的功能,這一句是只改了一個欄位名 ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 新數據類型 [完整性約束條件…];#這一句除了改了欄位名,還改了數據類型、完整性約束等等的內容