==============================
MYSQL數據庫的常見操作
==============================
一、mysql的連接與關閉
-h:指定所連接的服務器位置
-u:數據庫的用戶名
-p:數據庫的密碼
1 mysql -u 用戶名 -p //連接數據庫 2 密碼 3 exit //關閉數據庫
1 mysql_connect($host,$user,$password); //連接數據庫 2 mysql_close() //關閉數據庫
二、創建數據庫
1、創建一個名為test1的數據庫
1 mysql> create database if not exists test1;
2、顯示所有數據庫
1 mysql> show databases; 2 +--------------------+ 3 | Database | 4 +--------------------+ 5 | information_schema | 6 | mysql | 7 | performance_schema | 8 | test | 9 | test1 | 10 +--------------------+ 11 5 rows in set (0.00 sec)
3、使用名為test1的數據庫
1 mysql> use test1;
4、刪除一個名為test1的數據庫
1 mysql> drop database if exists test1;
5、創建一個表
三、數據表內容的簡單管理
1、添加數據 表記錄
1 insert into 表名(字段名稱,字段名稱...) values(值1,值2...);
2、刪除數據
1 delete from 表名 where id=1;
3、修改數據
1 update 表名 set 字段名稱=新值,字段名稱=新值... where id=1;
4、查看數據
1 select 字段名稱,字段名稱... from 表名;
5、創建表
1 create table 表名( 2 id int, 3 username varchar(30), 4 age int 5 );
四、數據值和列的類型
1、數值
1 int 2 tinyint 3 字段屬性: 4 無符號的數 unsigned 增大存儲范圍 5 int(n) (n)默認情況下沒有任何意義 不會影響存儲范圍 6 zerofill屬性 0填充 3 001 012 123 1234 7 小數 8 float(n,m) 9 float(6,2); n共幾位 2小數點后保留幾位 10 decimal(6,2);
2、字符
1 char(n) 固定長度 n 0-255 密碼 char(32) 2 varchar(n) 可變長度 用戶名 n 0-65535 varchar(20)
3、時間和日期 int
4、NULL
五、創建索引
1、主鍵索引 primary key
一個數據表只能指定一個主鍵,而且主鍵的值不能為空
聲明一個整形的字段cid,設置其屬性為NOT NULL和AUTO_INCRENENT,並在字段后使用PRIMARY KEY設置該字段為主鍵索引。在創建book1時,聲明的字段bid也設置相同的屬性,而且使用另一種從句的方式將其設置為主鍵索引。並在book1表中聲明一個cid的字段,用於保存book0表中的設置為主鍵的cid
1 mysql> create table book0 ( 2 -> cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 -> bookname VARCHAR(15) NOT NULL 4 -> ); 5 Query OK, 0 rows affected (0.14 sec) 6 7 mysql> create table book1 ( 8 -> bid int(10) NOT NULL AUTO_INCREMENT, 9 -> cid MEDIUMINT(8) NOT NULL, 10 -> detail TEXT NOT NULL, 11 -> price DOUBLE NOT NULL, 12 -> PRIMARY KEY (bid) 13 -> ); 14 Query OK, 0 rows affected (0.11 sec)
注意:防止數據不一致,在刪除一條記錄之前,必須檢查在其他數據表里是否存在對這條記錄的引用
2、唯一索引 UNIQUE
避免數據重復出現
在創建表book2時,為類別名字段bookname使用關鍵字UNIQUE將其定義為一個唯一索引,避免插入數據時出現重復的類別名稱
1 mysql> create table book2 ( 2 -> cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 -> bookname VARCHAR(15) NOT NULL UNIQUE 4 -> ); 5 Query OK, 0 rows affected (0.08 sec
3、普通索引 INDEX
僅提高查詢的速度
1 CREATE INDEX ind ON book3(uid,cid); #為book2表的兩個列創建名為ind的索引
4、全文索引
mysql只支持英文文本