zoukankan      html  css  js  c++  java
  • sql基础知识(新手必备)

    一、简单查询

    1、查询所有数据,查询部分列数据,列别名

       SELECT * FROM 表名

      SELECT 列1 AS 'BIAOTI1','BIAOTI2'=列2  FROM 表名

    2、查询不重复的数据,

      SELECT  DISTINCT  列名 FROM 表名

    3、查询前n行数据

      SELECT  TOP  N  PERCENT * FROM 表名

    4、过滤行 

        运算符:比较运算符、逻辑运算符(AND/OR/NOT)、范围运算符([NOT]BETWWEEN  AND)、列表运算符(IN(值列表))、模式匹配符、空值判断符

        SELECT * FROM 表名  WHERE  条件 

       模式匹配符:where 列名1 LIKE  '%'  '_'      '[^0-9][A-Z]'

       NULL判断符:IS NULL  /IS NOT NULL

    5、排序   ORDER BY 列名1  [ASC/DESC],列名2  [ASC/DESC]

    二、函数

    1、字符串函数:substring(expression,start,length)、--求子串

                   str(float_expression,[length,[decimal]])--将数字类型转换成字符类型

    2、日期函数:getdate()、--获取当前系统日期

                  dateadd(datepart,number,date)、--yy  mm dd 

                 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函数--

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

    三、分组

             分组过滤(列1.列2 ,必须在group by 中出现的)

          SELECT  列1 ,列2 ,COUNT(列3) FROM 表名 WHERE 条件

          GROUP BY  列1,列2

          HAVING 条件(分组之后的过滤,可以用聚合函数)

    四、连接(子查询结果集如果在一个表中,用子查询,否则用连接)

    1、内连接:  SELECT A.列名 ,B.列名  FROM 表1  A

                [INNER] JOIN  表2  B  ON  A.列名= B.列名

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

              (保证一个表中的数据,全部显示出来,再加上另一个表中满足条件的数据)

             SELECT A.列名 ,B.列名  FROM 表1  A

               LEFT|RIGHT|FULL [OUTER] JOIN  表2  B  ON  A.列名= B.列名

    五、子查询

            select 列名1,列名2  from 表1

               where 列 运算符 (select 语句)

            select 列名1,列名2  from 表1

                where [not] exists (select 语句)

             [not] in

             [not] exists

             比较运算符引出的子查询

    六、建库建表  creat alert drop 管理结构

    1、建库 CREATE DATABASE 数据库名   / 删除数据库  DROP  DATABASE 数据库名

               一般情况: mdf数据库主文件  ldf 日志文件 

                特殊情况(大型数据库): ndf辅助文件

    2、建表 CREATE TABLE 表名         /    DROP TABLE 表名

             ( 列名1 数据类型  约束,  null/not null primary key check(),

               列名2 数据类型  约束                  unique,

              列名3 数据类型  约束                  Default值

              列名4 数据类型  约束                  foreign key references 表名2(列明)

             )

             --添加字段

           ALTER TABLE 表名

           ADD

             --修改字段 

             ALTER TABLE 表名

            ALTER

             --删除字段

            ALTER TABLE 表名

            DROP

         use  数据库

    3、管理表

       INSERT [INTO]  表名(列列表)VALUES(值的列表)

       UPDATE   表名  SET  列1=值1,列2=值2 WHERE  条件

       DELETE  FROM 表名  WHERE  条件

    七、数据完整性 constraint  references 

    类型:  1.实体完整性

            2.参照(引用)完整性 

             3.域完整性

             4.用户自定义完整性

    实现:

    1、Primary key 主键

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

    3、Unique 唯一约束

    4、Check  检查约束

    5、Default 默认值约束

       数据管理

                 添加数据

                   insert [into] 表名 (列列表) values(zhi leibiao)

                 更新数据

                   update  表名 set 列名1=值1,列名2=值2 where

                 删除数据

                   delete  from  表名 where

    八、视图

       优点:

        语法:create view view_name

                 as select 语句

    九、索引

         优点:提高对数据库操作的性能 建在经常使用的,小字段的地方

          语法:create index index_name

                 on 表(列1,列2)

    十、存储过程

        优点:可以重用代码 客户端只要发送很少的参数跟存储过程名就可以 减少网络流量 安全性高

        语法:create proc 存储过程名

               @aa  类型,           输入参数

               @bb  类型 output      输出参数

              as sql语句

                 return 数值

        调用:exec 过程名 参数[output]

    十一、事务

        特点:

        四个特性:原子性   独立性 一致性  持久性

        begin transaction 建立一个显示事务

    commit transaction :标识一个隐士或显示事务

  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/jingli6174/p/5522742.html
Copyright © 2011-2022 走看看