SQL基本语句总结

执行顺序:
  SELECT select_list
  [ INTO new_table ]
  FROM table_source
  [ WHERE search_condition ]
  [ GROUP BY group_by_expression ]
  [ HAVING search_condition ]
  [ ORDER BY order_expression [ ASC | DESC ] ]
创建:
    create database dbname;
    create  table tablename (column_name1 type(size), column_name1 type(size));
    束缚:
        NOT NULL - 指示某列不能存储 NULL 值。
        UNIQUE - 保证某列的每行必须有唯一的值。
        PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
        FOREIGN KEY - (外键)保证一个表中的数据匹配另一个表中的值的参照完整性。
        CHECK - 保证列中的值符合指定的条件。
        DEFAULT - 规定没有给列赋值时的默认值。

查询:
            select column_name,column_name from tablename;
            select * from tablename;
            select distinct colunmn_name from tablename;
    (where) select column_name from tablename where column_name='c1';
    (like)  select column_name from tablename where column_name like 'city%';(以city结尾)
            select column_name from tablename where column_name like '%city%';(包含city)
            select column_name from tablename where column_name not like 'city%';(以city结尾)
    (in)    select column_name from tablename where column_name in ('a','b');(column_name为a或者为b)
    (between) select column_name from tablename where column_name between 10 and 20;
              select column_name from tablename where column_name not between a and z;
    通配符:
            %   替代 0 个或多个字符
            _   替代一个字符
            [charlist]  字符列中的任何单一字符
            [^charlist] or [!charlist]  不在字符列中的任何单一字符
    (order by) select column_name from tablename where column_name='q' order by column_name ASC | DESC;
插入:(无from)
    insert into tablename (column_name1,column_name2) values (v1,v2);
    insert into tablename values (v1,v2,v3,);
更新:(无from)
    update tablename set column_name1=c1,column_name=c2 where column_name='c';
删除:
    delete from tablename where column_name='c';
top:
    select top 2 * from tablename;
    select top 50 percent * from tablename;
别名:
    select column_name as c1,column_name as c2 from tablename as t;
连接:(inner join / left join /right join)
    select column_name from tablename1 t1 inner join tablename2 t2 on t1.name=t2.name;
合并:(union)
    select column_name from tablename1 union select column_name from tablename2;
    请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个SELECT 语句中的列的顺序必须相同。 
复制:
    (select into) select *(或者column_name) into tablename from tablename2;
    (insert into select) insert into table2 select * from table1;
索引:
    create index index_name on table_name;
drop:
    drop index table_name.index_name;
    drop database db_name;
    drop tabel table_name;
    truncate table table_name;
alert:
    alert table table_name add column_name type;
    alert table table_name alert column column_name type;
    alert table table_name drop column column_name;
函数:
    AVG() - 返回平均值
    COUNT() - 返回行数
    FIRST() - 返回第一个记录的值
    LAST() - 返回最后一个记录的值
    MAX() - 返回最大值
    MIN() - 返回最小值
    SUM() - 返回总和

    UCASE() - 将某个字段转换为大写
    LCASE() - 将某个字段转换为小写
    MID() - 从某个文本字段提取字符
    LEN() - 返回某个文本字段的长度
    ROUND() - 对某个数值字段进行指定小数位数的四舍五入
    NOW() - 返回当前的系统日期和时间
    FORMAT() - 格式化某个字段的显示方式
快速参考:
http://www.runoob.com/sql/sql-quickref.html

        SQL 语句  语法
        AND / OR    SELECT column_name(s)
        FROM table_name
        WHERE condition
        AND|OR condition
        ALTER TABLE ALTER TABLE table_name 
        ADD column_name datatype
        or
        ALTER TABLE table_name 
        DROP COLUMN column_name
        AS (alias)  SELECT column_name AS column_alias
        FROM table_name
        or
        SELECT column_name
        FROM table_name AS table_alias
        BETWEEN SELECT column_name(s)
        FROM table_name
        WHERE column_name
        BETWEEN value1 AND value2
        CREATE DATABASE CREATE DATABASE database_name
        CREATE TABLE    CREATE TABLE table_name
        (
        column_name1 data_type,
        column_name2 data_type,
        column_name2 data_type,
        ...
        )
        CREATE INDEX    CREATE INDEX index_name
        ON table_name (column_name)
        or
        CREATE UNIQUE INDEX index_name
        ON table_name (column_name)
        CREATE VIEW CREATE VIEW view_name AS
        SELECT column_name(s)
        FROM table_name
        WHERE condition
        DELETE  DELETE FROM table_name
        WHERE some_column=some_value
        or
        DELETE FROM table_name 
        (Note: Deletes the entire table!!)
        DELETE * FROM table_name 
        (Note: Deletes the entire table!!)
        DROP DATABASE   DROP DATABASE database_name
        DROP INDEX  DROP INDEX table_name.index_name (SQL Server)
        DROP INDEX index_name ON table_name (MS Access)
        DROP INDEX index_name (DB2/Oracle)
        ALTER TABLE table_name
        DROP INDEX index_name (MySQL)
        DROP TABLE  DROP TABLE table_name
        GROUP BY    SELECT column_name, aggregate_function(column_name)
        FROM table_name
        WHERE column_name operator value
        GROUP BY column_name
        HAVING  SELECT column_name, aggregate_function(column_name)
        FROM table_name
        WHERE column_name operator value
        GROUP BY column_name
        HAVING aggregate_function(column_name) operator value
        IN  SELECT column_name(s)
        FROM table_name
        WHERE column_name
        IN (value1,value2,..)
        INSERT INTO INSERT INTO table_name
        VALUES (value1, value2, value3,....)
        or
        INSERT INTO table_name
        (column1, column2, column3,...)
        VALUES (value1, value2, value3,....)
        INNER JOIN  SELECT column_name(s)
        FROM table_name1
        INNER JOIN table_name2 
        ON table_name1.column_name=table_name2.column_name
        LEFT JOIN   SELECT column_name(s)
        FROM table_name1
        LEFT JOIN table_name2 
        ON table_name1.column_name=table_name2.column_name
        RIGHT JOIN  SELECT column_name(s)
        FROM table_name1
        RIGHT JOIN table_name2 
        ON table_name1.column_name=table_name2.column_name
        FULL JOIN   SELECT column_name(s)
        FROM table_name1
        FULL JOIN table_name2 
        ON table_name1.column_name=table_name2.column_name
        LIKE    SELECT column_name(s)
        FROM table_name
        WHERE column_name LIKE pattern
        ORDER BY    SELECT column_name(s)
        FROM table_name
        ORDER BY column_name [ASC|DESC]
        SELECT  SELECT column_name(s)
        FROM table_name
        SELECT *    SELECT *
        FROM table_name
        SELECT DISTINCT SELECT DISTINCT column_name(s)
        FROM table_name
        SELECT INTO SELECT *
        INTO new_table_name [IN externaldatabase]
        FROM old_table_name
        or
        SELECT column_name(s)
        INTO new_table_name [IN externaldatabase]
        FROM old_table_name
        SELECT TOP  SELECT TOP number|percent column_name(s)
        FROM table_name
        TRUNCATE TABLE  TRUNCATE TABLE table_name
        UNION   SELECT column_name(s) FROM table_name1
        UNION
        SELECT column_name(s) FROM table_name2
        UNION ALL   SELECT column_name(s) FROM table_name1
        UNION ALL
        SELECT column_name(s) FROM table_name2
        UPDATE  UPDATE table_name
        SET column1=value, column2=value,...
        WHERE some_column=some_value
        WHERE   SELECT column_name(s)
        FROM table_name
        WHERE column_name operator value
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值