1.SQL命令:
SQL 支持4大類型命令:
數據定義語言(DDL): Create(創建), Alter(更改), Drop(刪除).
數據操縱語言(DML): Select(選擇), Insert(插入), Update(更新), Delete(刪除).
事務控制語言(TCL) : Commit(提交), Rollback(回滾), Savepint(保存點).
數據控制語言(DCL) : Grant(授予), Revoke(回收).
2.操作:
1)數據定義語言:用於改變數據庫結構,包括創建,修改,刪除數據庫對象
創建表(create):
create table person(id int primary key,name varchar(16) not null,passWord int not null, address varchar(20));
更改(alter):
注:add:增加,modify:修改
alter table person add(age int);//增加1個屬性列 alter table person add(age int,weight int);//增加多個屬性列 alter table person modify(age varchar(6));//修改屬性列 alter table person modify(age varchar(6),weight varchar(6));//修改多個屬性列
刪除(drop):
drop table person;
附加:
描述表的屬性列:describe person;
2).數據操縱語言: 用於檢索,插入和修改數據庫信息
選擇查詢(select):
select * from person;//檢索全部信息 select id,name from person;//檢索部分信息 select distinct name from person;//檢索部分信息,但消去重復行(distinct) select * from person where id=1;//查詢符合條件的信息 select * from person order by id;//查詢並排序(order by)顯示查詢信息 select * from person where id=1 and sex='man'; select * from person where address='bj' or sex='woman'; select * from person where(address='bj' or sex='woman') or age>20;
Select 語句的總語法:
Select * | {[Distinct] 列名,列名,…… } From TableName [Where 條件] [Order By 列名,列名,……];
其中用[ ]括起來的表示是可以按自己實際選擇寫或不寫。Order By表示結果要排序,By後指出排序的屬性列名,可單列或多列排序(在前排的基礎上再排序),其後可說明排序方式:DESC為降序,ASC為升序,默認為升序。在select語句中,order by子句必須在所以其他子句之後,作為最後一個子句出現。
插入(Insert):
insert into person(id,name,sex,address)values(1,'toxm','man','bj');//插入一個表的所有列: insert into person values(1,'toxm','man','bj');//插入一個表的所有列 insert into person(id,name) values(1,'toxm');//選擇性插入表中的列 insert into person select * from user;//插入來自其他表的所有記錄 insert into person select id,name from user;//選擇列插入來自其他表的記錄 insert into person select * from user where sex='man';//按條件插入來自其他表的所有記錄
更新:(Update ):
update person set name='toxm' where id=1;//按條件更新一列或多列 upsate person set name='toxm',address='bj' where id=1;//按條件更新多列 update person set name='toxm;//更新所有行
刪除:(Delete):
delete from person;//刪除表中所有記錄 delete from person where id=1;//按條件刪除表中記錄
3)事務控制語言:
當用戶執行創建,刪除,修改數據庫對象或插入,刪除,修改數據庫表時,用戶所做的數據修改會被保存在數據緩沖區中,此時用戶所做的數據庫修改並沒有真正的修改了數據庫,只有在用執行Commit(提交)命令後才真正的修改了數據庫, 如果想不修改數據庫,則可以執行Rollback(回滾)命令則剛剛執行的修改不會修改數據庫。
如: 當你用Insert 命令插入一條記錄時,此時這條記錄是保存在數據緩沖區中的,並沒有真正保存到數據庫中,數據庫中不會有這條記錄(不信你可以以另一個用戶登陸然後查詢插入的表,會發現無次記錄), 如果你執行了Commit(提交)命令後, 才會將緩沖區的數據保存到數據庫裡, 既真正的修改了數據庫(以另一個用戶登陸可以查詢到插入的記錄), 如果執行Rollback(回滾)命令則會把存在緩沖區中的數據給刪除掉,既用戶的修改作廢(如果執行Commit命令則不能回滾了)。 可以利用Savepoint(保存點)進行選擇性的回滾。