zoukankan      html  css  js  c++  java
  • 常用SQL语句(增删查改、合并统计、模糊搜索)

    转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html

    常用SQL语句

    首行当然是最基本的增删查改啦,其中最重要的是查。



    还有就是一些要注意的地方,就是SQL语句对大小写不敏感,语句中列名对应的值要用单引号''括起来不是双引号。
    SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号。
    特别是C/C++程序员要注意,通常错误都是在用字符串进行拼接SQL语句时,由于双引号和单引号混用,特别容易出错。




    一、查:1、SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons;
        2、SELECT * FROM 表名称,表示查找表中所有的内容,星号(*)是选取所有列的快捷方式;
        3、用where 限定搜索范围,SELECT 列名称 FROM 表名称 WHERE 列 运算符 值,其中,运算符包括
            操作符 描述
             = 等于
             <> 不等于
             > 大于
             < 小于
             >= 大于等于
            <= 小于等于
    BETWEEN     在某个范围内
            LIKE 搜索某种模式
       注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
       如:SELECT * FROM Persons WHERE City='Beijing'


         4、以下说说上面的一个运算符like
    LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SELECT column_name(s)FROM table_name WHERE column_name LIKE pattern
    例如:
    SELECT * FROM Persons WHERE City LIKE 'N%'
    SELECT * FROM Persons WHERE City LIKE '%g'
    SELECT * FROM Persons WHERE City LIKE '%lon%'

    在以上的三个例子中,都有一个符号“%”,"%" 可用于定义通配符(模式中缺少的字母)。对于第一个例子,可以理解为查找City列中的名字中一定要以N开头的,后面的字母是什么,不用管;同理,第二个例子,是搜索City列中的名字中一定要以g结尾的城市,第三个例子,则是查找City列中的名字中名字存在lon的城市。

    简单点来说,这是一种模糊搜索,而“%”可以代表任何字符。

        5、and,or
    and 即条件交集,or 即条件并集;


    二、改:Update 语句用于修改表中的数据。语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
        列名可以是多个,多个列名之间用豆号分开;
        例如:UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
     UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'


    三、删:DELETE 语句用于删除表中的行。语法:DELETE FROM 表名称 WHERE 列名称 = 值,如:DELETE FROM Person WHERE LastName = 'Wilson' 
        删除所有行,DELETE FROM table_name或DELETE * FROM table_name(注意,并不删除表);


         
    四、增:INSERT INTO 语句用于向表格中插入新的行。语句:INSERT INTO 表名称 VALUES (值1, 值2,....)
    或INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
        例如:INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')或
     INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees‘)


    五、sum()函数
    SUM 函数返回数值列的总数(总额)。注意,只能统计数值。语法:SELECT SUM(column_name) FROM table_name
    例如:SELECT SUM(OrderPrice) AS OrderTotal FROM Orders;as表示生成的数据的列名是OrderTotal


    六、count()函数
    1、COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入),即column_name中有多少个不同的值:
    SELECT COUNT(column_name) FROM table_name
    如:SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer='Carter'


    2、COUNT(*) 函数返回表中的记录数,即表中有多少条记录:SELECT COUNT(*) FROM table_name
    如:SELECT COUNT(*) AS NumberOfOrders FROM Orders


    3、COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:SELECT COUNT(DISTINCT column_name) FROM table_name
    如:SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders


    注:count()函数可以统计出一个列中某一值的出现次数,而不限于列的值的数据类型,而sum()函数限定操作的值的类型一定要是数值类型;

    七、group by
    1、GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。通常与sum()、count()等函数一起用。
    2、语法:SELECT column_name0, aggregate_function(column_name1) FROM table_name WHERE column_name operator value GROUP BY column_name2
    3、与sum()的结合使用,可以根据column_name2列中的值的不同而对column_name1的值进行分组并合计;
    例如:SELECT City, sum(input) FROM Person  GROUP BY City ;就能按把收入统计并按城市分组,即表中有多少个不同的City就有多少行数据。
    4、与count()结合使用,可以统计出某表中某列中的某值出现的次数.
    select a as xm,count(a) as cs from table1 group by a
    如某表table1,
    ... a ...
    ... 0 ...
    ... 1 ...
    ... 2 ...
    ... 1 ...
    ... 0 ...
    其中a列只有0,1,2三种值,如何统计各值出现的次数,最好弄成这样的
    XM CS
    0 (0出现的次数)   
    1 (1出现的次数)
    2 (2出现的次数)
    5、我们也可以对一个以上的列应用 GROUP BY 语句,就像这样:

    SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP BY Customer,OrderDate

     

    八、把两个表中的相关内容进行搜索合并

    例如:select column1,column2,column3 from table_name1,talbe_name2 where table_name1.column = table_name2.column

    注意:两个表中就有一个记录相同信息的列 column。

  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1046 Shortest Distance (20)
    1061 Dating (20)
    1041 Be Unique (20)
    1015 Reversible Primes (20)(20 分)
    pat 1027 Colors in Mars (20)
    PAT 1008 Elevator (20)
    操作系统 死锁
    Ajax的get方式传值 避免& 与= 号
    让IE浏览器支持CSS3表现
  • 原文地址:https://www.cnblogs.com/cugwx/p/3586735.html
Copyright © 2011-2022 走看看