zoukankan      html  css  js  c++  java
  • SQL 基础复习

    可能有遗漏的部分,只是找了一下常用的、基础的吧!(都是老师指导有方!)

    一、简单查询

    1、查询所有数据,查询部分列数据,列别名    SELECT * FROM Stutb    SELECT Column1 as 'ID','Topic'=Column2,Column3 FORM  Stutb

    2、查询不重复的数据,    SELECT DISTINCT SID,Column2 FROM Stutb

    3、查询前n行数据    SELECT TOP n PERCENT Column1,Column2 FROM Stutb

    4、过滤行 (AND/OR/NOT)(NOT BETWEEN AND/BETWEEN ...AND...)          

    (LIKE'%'/'_'/'[0-9]')

    (IS NULL/IS NOT NULL)

    (IN(Values1,Values2,Values3))

     运算符:比较运算符、逻辑运算符、范围运算符、列表运算符、模式匹配符、空值判断符   

    SELECT Column1,Column2 FROM Stutb WHERE ...

     5、排序   

    SELECT Column1,Column2,Column3 FROM Stutb

    ORDER BY Column1 asc/desc,Column2 asc/desc

     二、函数

     1、字符串函数:substring(expression,start,length)、  str(float_expression,[length,[decimal]])

     2、日期函数:getdate()、dateadd(datepart,number,date)、   Datediff(datepart,date1,date2)、       Year(date)、Month(date)、Day(date)

     3、数学函数:round(numeric_exp,length)

     4、转换函数:convert(datatype [(length)],expression[,style])

    5、次序函数:row_number()、Rank()、dense_rank()//排名      

    6、Isnull函数:isnull(Column1,Values1)

    7、集合函数:min(Column1),max,sum,avg,count     

    三、分组    

    分组过滤    

    SELECT SID,Name,COUNT(*) FROM Stutb WHERE...     GROUP BY SID,Name     HAVING...

    四、连接

    1、内连接  

     SELECT  A.Column1,B.Column2 FROM Stutb a    [INNER] JOIN Coursetb b ON A.SID=B.SID

    2、外连接:左外连接、右外连接、全外连接   

    SELECT A.Column1,B.Column2 FROM Stutb a  left|right|full    [OUTER] JOIN Coursetb b on a.sid=b.sid

    五、子查询   

     [not] in  //多值    

     [not] exists   //是否存在     比较运算符引出的子查询 //单值(>、<、=)      

      SELECT Column1,Column2 FROM Stutb     WHERE SID IN(SELECT SID FROM Coursetb)

     SELECT Column1,Column2 FROM Stutb     WHERE EXISTS(SELECT SID FROM Coursetb)

    六、建库建表 

    1、建库  CREATE DATABASE StuDB (*.mdf/*.ldf)   /DROPDATABASE StuDB

    2、建表  CREATE TABLE StuTB                   /DROPTABLE StuTB       

    ( Column1 ColumnType (size) null/not null Primary Key check(),   

      Column2 ColumnType null/not null Unique ,           

      Column3 ColumnType null/not null Default 10,

      Column4 ColumnType Foreign Key ID References CourseTb (CID)        

     )                  

     ALTER TABLE Stutb          Add         

     ALTER TABLE Stutb          Alter Column         

     ALTER TABLE Stutb          Drop  Column      

    3、操作表数据   

     INSERT [INTO] StuTB (Column1,Column2,Column3) VALUES(Values1,Values2, Values3)   

     注意:自动增长列不应在列表中   

     UPDATE StuTB Set Column1=Values1,Column2=Values2 WHERE SID=id   

     DELETE FROM StuTB WHERE SID=id

    七、数据完整性

    constraint 

    references

    1、Primary key 主键

    2、Foreign key 外键  REFERENCES  表名(列名)

    3、Unique 唯一约束

    4、Check  检查约束

    5、Default 默认值约束

    八、视图   

     CREATE VIEW View_Name    AS    SELECT * FROM Stutb  

    九、索引(簇索引/非簇索引)

    CREATE INDEX Index_Name    ON Stutb (Column1,Column2)(为非簇索引,主键为簇索引)

    十、存储过程   

     CREATE PROC GetInfor   

    @SID char(4),   

    @SName char(20),   

    @SAge int output   

     AS    SELECT * FROM Stutb       //return 数值(返回值)

     DECLARE @Age int       

     EXEC GetInfor @sid,@sname,output @sage    

    十一、事务

    四个特性:

    1. 原子性(Atomicity)

    2. 一致性(Consitency)

    3. 隔离性(Isolation)

    4.永久性(Durability)

    begin transation

    commit transaction

    rollback transaction

    save transaction

    十二、触发器

    create trigger trigger_name      

    on {table | view}         

    [with encryption]         

    { for | after | instead of}

    {[insert][,][update][,][delete]}        

    as

    {            sql_statement          

    }

  • 相关阅读:
    Java学习:冒泡排序和选择排序
    Java学习:多态
    Java学习:抽象类与接口
    Java学习:继承
    Java学习:标准类
    Java学习:方法简介
    传参的本质
    new 关键字做的事
    一个引用类型的对象占多大堆空间
    栈中空间大小
  • 原文地址:https://www.cnblogs.com/SanMaoSpace/p/2233485.html
Copyright © 2011-2022 走看看