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(保存点)进行选择性的回滚。
原文:http://toxm.blog.ccidnet.com/blog-htm-itemid-101950-do-showone-type-blog-uid-39664.html
|