1:单行注释 --(双连字符) 例: --显示authors表中的全部数据 Select * from authors 2:多行注释 /*…*/ 例: /* 显示authors 表中的全部数据 */ Select * from authors 3:Select 语句 4:FROM语句 例:显示表中Au_lname,Au_fname字段 Select Au_lname,Au_fname From authors 5:AS语句 用处用AS把字段重新命名 例: Select Au_lname AS lname, Au_fname AS fname FROM authors 6:WHERE语句 条件语句 结果过滤 可用运算符(=、>、<、<>) AND 和 OR或 NOT非 例Select * From autoex Where ytea=’Busilie’ Select * From autoex Where NOT ytea<20 Select * Form Aueoex Where ytea=20 AND ytb=30 7:BETWEEN AND 条件语句显示二个数之间的行 例Select * From Tetles Where Ytea BETWEEN 15 AND 20 8:LIKE LIKE可以用于进行模糊查询,可以使用的匹配字符如下面所示: %:包含零个或更多字符的任意字符串 _:任何单个字符 []:指定范围(例如[a-f])或集合(例如[abcdef])中的任何单个字符 [^]:不属于指定范围(例如[^a-f]或集合(例如[^abcdef])的任何单个字符 例如:--显示所有图书名包含computer关键的字行 SELECT * FROM titles WHERE title LIKE `%computer%` --以ean结尾的所有4个字母的名字 SELECT * FROM authos WHERE au_fname LIKE `_ean` --查找显示作者名字以crsen 结尾 --并且以介于C与P之间的任何单个字符开始的名字 SELECT * FROM authors WHERE au_lname LIKE `[C_P]arsen` --显示authors表中作者的名字 --以 de 开始并且其后的字母不为1的所有行 SELECT * FROM authors WHERE au_lname LIKE `de[^1] % ` 9:GROUP BY子句 GROUP BY子句表示对查询到的记录进行分组,后跟字段名称,当需要按照多个字段进行分组时研究院段之间用逗号隔开 例如:--使用GROUP BY对查询结果分组 --统计authors表中居住在CA州的不同城市的作者数量 SELECT city ,count(*) as AutorNumbers FROM authors WHERE state=`CA` GROUP BY city 10:HAVING子句 HAVING子句可以作为一个整体的组指定条件,这样可跟定查询中出现的组 例如:--显示每个出版商出版的所有书的平均价格 --但只显示平均价格超过10.00美元的书刊号 SELECT pub_id, AVG(price) FROM titles GROUP BY pub_id HAVING(AVG(price)>10) 11:ORDER BY 子句 ORDER BY 子句表示按照某各自段对返回结果进行排序,后跟字段名称,当按照多个字段进行排序时字段之间用逗号隔开。SQL语言支持两种排序方式,即升序和降序,分别用关键字ASC和DESC表示。 注意:当不指明排序方式时,默认为升序排列 例如:--ORDER BY子句应用 --显示商业类型的图书,并按照价格进行降序排列 SELECT * FROM titles WHERE type =`business` ORDER BY price DESC 12:INSERT语句 例如:INSERT语句用于向数据表中插入新的记录,其基本的语法格式如下:INSERT INTO Table_Name [(Field_List)] VALUES({default | null | expression} [,…n]) 其中Table_Name 是数据表名称,Field_List 是数据表的字段列表,VALUES后的括号内为对应字段的数据取值。INSERT语句可以省略Field_List, 当省略Field_List 时,默认为针对当前数据表的所有字段,此时在VALUES 子句中必须为所有字段指定取值,并且要与数据表中的字段的先后顺序完全一致。下面的SQL语句向MyTestTable表(该表由Coll和 Col2组成)中插入一行数据 例如:INSERT INTO MY Test Table VALUES(123,`INSERT demo`) 如果不省略 Field_List,就必须指明要对哪些字段进行赋值,字段包含在表名的后面并包括在括号内。 注意:数据表的关键字和不允许为空的字段必须出现在Field_List中 列如要向jobs表中插入一行,对应的SQL语句如下,在SQL Explorer中的执行结果 例如:--INSERT语句示例 INSERT INTO jobs(job_DESC,min_IVI,max_IVI VALUES(`d`,20,100) 13:UPDATE语句 Update 语句用于修改表中的数据,其基本语法格式为: Update Table_name SET {Field_name={expression|default|null}[,….n] [Where Where子句] --Update示例 --更新Jobs表中的数据 Jobs表中Job_id字段值为15的行的数据 Update Jobs Set job_Desc=`Update Demo`,Min_1v1=50,Max_1v1 Where Job_id=15 14:Delete语句 Delete From Table_name [Where Where 子句] --删除jobs表中job_id值为15的记录, Delete From Jobs Where job_Id=15 15:Create语句 用来创建数据库、表、视图、存储过程和触发器等,根据创建目标的不同后面可以跟DataBase、TABLE、VIEW、PROCEDURE和TRIGGER等关键字 CREATE TABLE Table_name({FieldName Datatype [primary key|unique][,Not Null][,auto increment][,default Default_value]) Table_name:表名 FieldName字段名 Primary key 定义主键 Unique 不可重复 NOT NULL表示字段不能为空 Auto increment 自动排号 Default 定义默认值 --创建数据表 创建一个名字为MytestTable 的数据表 CREATE TABLE MyTestTable(Col1 int, Col2 Varchar(30)) 16:Drop Drop作用和CREATE语句相反,用来删除数据库、表、视图 后面可以跟DataBase、TABLE、VIEW、PROCEDURE和TRIGGER等关键字 Drop Table table_name --删除数据库名为MytestTable的表 Drop table MytestTable |
|