一、SQL:結構化查詢語言
SQL(Structured Query Language)是高級的非過程化變成語言,專門用於查詢和修改數據庫的信息以及對數據庫進行管理和維護的標准語言。SQL語言結構簡單,功能強大,得到了眾多DBMS的支持。
SQL分為四個部分:
數據定義語言(DDL):用於定義和管理數據對象,包括數據庫、數據表等。如create/drop/alter等
數據操作語言(DML):操作數據庫對象中包含的數據,如insert/update/delete等
數據查詢語言(DQL):查詢數據庫對象中包含的數據,並返回數據結果,如select
數據控制語言(DCL):管理數據庫對象,包括權限管理和數據更改,如grant/revoke/commit/rollback等
二、MySQL的常見操作
1、連接和關閉:mysql –h 【服務器主機地址】-u 用戶名 –p 用戶密碼 quit和exit用於關閉連接
2、創建用戶和授權:GRANT 權限 ON 數據庫.數據表 TO 用戶名@登陸主機 IDENTIFIED BY “密碼”
1: //添加新用戶,名為phper 密碼dwqs,在任何主機登陸,對所有數據庫擁有查詢、插入、修改、刪除權限
2: //創建用戶前,先以root用戶登陸
3: GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO phper@"%" IDENTIFIED BY "dwqs"
4:
5: //只對mydb數據庫創建用戶並授權
6: GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO phper@localhost IDENTIFIED BY "dwqs"
3、數據庫操作
1: //創建名為test的數據庫
2: create database [if not exists] test;
3: //刪除test
4: drop database [if exists] test
5: //顯示數據庫列表
6: show databases
7: //使用test數據庫
8: use test
4、數據表操作
1: //在test中創建一個表,表名是dwqs
2: create table dwqs
3: <
4: id int not null auto_increment,
5: name varchar(20) not null default '',
6: site varchar(20) not null default 'www.ido321.com,
7: email varchar(15) not null default ''
8: >
1: //查看在test數據庫的中表
2: show tables
3: //查看dwqs表的結構
4: desc dwqs 或 description dwqs
5: //刪除dwqs表
6: drop table dwqs
5、數據表的內容管理
1: //插入記錄
2: insert [into] 表名 [(字段名1),(字段名2),...,(字段名n)] values ('值1','值2',...,'值n')
3: //更新記錄
4: update 表名 set 字段名1=表達式1[,字段名2=表達式2,...,字段名n=表達式n]
5: [where 條件] [order by 字段] [limit 行數]
6: //刪除記錄
7: delete from 表名 [where 條件] [order by 字段] [limit 行數]
8: //查詢記錄
9: select [all|distinct]
10: {*|table.*|[table.]field1[AS alias1],[table.]field2[AS alias2][,...]}
11: from tablaname[,...][in externaldatabase]
12: [where 條件][group by 字段][having 條件][order by 字段][limit 行數]
說明:在查詢中,distinct用於排除重復的數據,只返回一個,默認是all。 as用於給列標記別名: 字段名 as ‘別名’,在查詢的結果中,字段名以別名顯示.in用於子查詢,也可以使用like進行模糊查詢,如 like ‘%php%’—>包含php字樣的,%表示0個或任意個字符;like ‘dw_s’—>形如dwqs,dwrs等,_表示一個任意字符。group by是對查詢結果分組。同時可以再select中嵌入SQL表達式或者函數,如count();
6、修改表
1: //這個"修改"主要修改表的結構,如添加字段、修改字段屬性等
2: alter table 表名 action
3: //action的具體內容
4: //添加新字段
5: alter table 表名 add 字段名 描述 [first|after 列名]
6: alter table dwqs add qq int[14] not null //為dwqs表添加一個qq字段,類型是整數,不為空
7: //修改字段
8: alter table 表名 change(modify) 列表 描述
9: alter table dwqs change qq qq varchar(15) default 0 //將qq字段的類型改為varchar,默認值是0
10: alter table dwqs modify qq varchar(15) default 0 //將qq字段的類型改為varchar,默認值是0
11: //修改表名
12: alter table 舊表名 rename as 新表名
說明:[first|after 列名]表名新字段的位置,first將字段插入第一列,after 列名將字段插入到指定列名之後。未指定該值,默認在末尾添加。
modify和change的區別:change除了更改類型,還會更改列名,所有qq字段出現了兩次,前一個是舊列名,後一個是新列名。而modify 沒有修改列名的功能,所有qq只出現了一次