• SQLServer 基础


    1当设计表时,对表进行结构性的修改(如将原来可以null的改为不可null),直接改则不允许保存修改,需要选择 工具----选项----designers—表设计器和数据库设计器---阻止保持要求重新创建表的更改(将其取消)。

    2标识字段:输入数据时,不用输入id,让其主动增加(输入第一行时,id自动显示为1,输入第二行时,id自动显示为2)  列属性---标识规范---选择是标识---设置标识种子(起始点)与标识增量(步长)。

    3 字段设置默认值,添加新记录时没有输入时自动填充默认值。列属性---默认值或绑定---设定默认值。添加时出现叹号---右键---执行,则实现填充默认值。

    4 创建数据库 :对象资源管理器---数据库---右键---新建

      Sql语句  (简单方式)   新建查询---    creat   database  名称    (执行)

    (完整方式)   新建查询---

         Create  database  ljtdatabase

         On                                    ---------创建数据文件

    (

             name=ljtdatabase_data,

             Filename=’d/temp/ljtdatabase_data.mdf’,    -----存储路径  格式 .mdf

             Size=10,

             Maxsize=20,

             Filegrowth=10%

    )

    Log on                                   ---------创建日志文件

    (

     Name=ljtdatabase_log ,

    Filename=’d/temp/ljtdatabase_log.ldf’      ------存储路径    格式  .ldf

    Size=6,

    Maxsize=10,

    Filegrowth=10%

    )

    删除数据库  drop   database  名称1,名称2  (删除多个数据库)

    5更改名称:

    更改数据库名称   直接重命名 

       exec  sp­-renamedb   旧名称 ,新名称。

    更改表名称       直接重命名

                     exec sp-rename     旧名称 , 新名称 

     6 创建表 

                  Use  数据库名称

                 create  table  表名

    (

    属性名1  数据类型 identity(1,1)  primary key,  (定义标识 及主键)

     属性名2  数据类型

    7 查询表   

               Select  * from   dbo.表名 

                Select  属性1,属性2  from   dbo.表名

    8 修改数据库

       增加数据文件

                     Alter  database   数据库名      ------申明修改哪个数据库

                     Add  file

    (

                Name=名称

                Filename=’d:abcljt.mdf’,

                Size =10,

                Filegrowth=10%

    增加日志文件

                   Alter  database   数据库名     -------申明修改哪个数据库

                   Add  log   file

    (

              Name=名称

              Filename=’d:abcljt.mdf’,

              Size =10,

              Filegrowth=10%

    9 删除数据库的文件

         Alter database  数据库名

          Remove  file   文件名  (teacher数据文件  |  teacher-log  日志文件)

    10  增加表的属性

               Use   数据库名     -----申明修改表所属的数据库

               Alter  table 表名              -----申明修改的表

               Add  属性名  数据类型   ( default ‘ 默认值’  ----定义默认值 )

     修改属性

              Use  数据库名

              Alter  table 表名

              Alter  column  属性名  数据类型

        删除属性

    Use  数据库名

              Alter  table 表名

             Drop  column  属性名

    11 插入记录

             Use   数据库名

             Insert  into  表名 (需插入的属性名)  values (需插入的属性数据值)

         将其他表的数据插入到目标表

       Insert  into  目标表名 select 属性名1,属性名2  from 其他表

    12 条件查询

              Use 数据库名

              Select  属性名    from   表名  where   查询条件

    Select  属性名    from   表名  where  条件属性名  not  in  (条件属性值)

    查询空值----Select  属性名   from   表名  where  属性  is  null  

    查询没有重复的属性值

              Select  distinct  属性名  from  表名

    嵌套查询(表之间的查询)

          Select  属性名  from 表名 where  条件属性 in |=|>  (select  属性名 from 表名  where  条件)         -------- 等号后只能有一个值 而 in 后可以是多个值

    查询 和 ZZ年龄相同的人

    Select  *from 好朋友 where  age in (select age from 好朋友 where name =’ZZ’)

    查询并将结果排序

     Select  属性名 from 表名 where 属性条件  order by 第一排序属性,第二属性

      asc 升序  desc 降序

    13 数据修改

            Use  数据库名

            Update   表名  set  属性值(属性名=数值)  where  修改条件

    14 删除记录

       Use 数据库名

       Delete from 表名 where  删除条件

    15 统计行数

    Select   count (*)  as 指定名  from  表名    -----统计所有列的行数

    Select  count (属性名) as 指定名  from  表名     ----统计某属性不为null的行数

    16 统计和

    Select  sum(属性名) as 指定名 from 表名     ----计算某属性所以列的和(所有员工的工资总额)

    17 求平均值

    Select  avg(属性名)  as  指定名  from 表名  ----计算某列的平均值(计算员工的平均年龄)

    18 求最值

    Select  max | min (属性名)  as 指定名  from  表名 ----计算最大值(求员工最大年龄)

    19求两列和,差,积,商 (列之间的代数运算)

    Select  属性名1,属性名2, 属性名3 + 属性名4  as  指定名  from 表名

    (查询员工姓名,年龄,及工资和奖金的和(即总工资))

    20 模糊查询

    Select * from 表名 where  属性名  like  ‘%天%’    ----查询某属性值中含有 天 字的记录   李%---以李开头    %李----以李结尾   %李%----含有李字

    21 汇总查询

    Select *from 表名 order by 属性名1  compute  max(属性名) min(属性名) by属性名 1   ----按照属性1,分组计算 max min 然后各组再按属性名1排序(order by属性名1)     compute by的属性 必须包含在orderby的属性

    计算不同年龄员工群的工资最大值,最小值,工资总和 然后结果按照年龄排序

              22 分组查询

    Select  属性名1 ,max(属性名),min(属性名) as 指定名 from 表名  group by 属性名  having  查询条件

      查询不同院校的员工的工资最大值,最小值 且 只显示工资最大值要求大于3000的

    Select  毕业院校, max(工资),min(工资)from 员工表 group by 毕业院校 having

    max(工资)>3000

    23 条件存在即查询

    Select  属性名1,属性名2 from 表名  where  exists  (条件集合)

       条件集合只要非空就可以执行前面的查询操作

    Select * from  职员表 where exists (select * from 职员表 where  毕业院校=LIT)  -----只要毕业院校是LIT的员工就查询其全部信息    括号内非空就执行前面的查询

    Select * from  职员表 where not  exists (select * from 职员表 where  毕业院校=LIT)

    ------ 只要括号内为空就执行前面查询

    24 any all 查询

    Select *from 表名 where 属性名1> any | all  (select …….)

    Any   满足条件查询的任意一个即可

    All   必须满足条件查询的所有结果

    25 只查询全部数据的前 n 条记录 或前  n% 条记录

    Select  top  n  属性名1,属性名2  from  表名

    Select  top  n  precent  * from 表名

    26 将查询结果保存为另一个表

    Select  *  into  另存表名  from 表名where 查询条件

    27 查询结果的并-----将两个查询结果显示在同一个表中

    Select *from 表名1  union  select * from 表名2  -----将从两个不同表中的查询结果放在同一个表中显示

    查询结果的交

    Select  *from 表名1   interset   select *from 表名2

    28

    一般连接查询

    Select *from 表名1 ,表名2

    分别将表2的每一个记录连接在表一中的所有记录 (表名2 中的每一条记录会和表名1中的所有记录连接)

    条件连接

    Select  *from 表名1,表名2  where 表名1.属性名 = 表名2.属性名(当两个属性名不同时可以直接去掉表名的前缀)-----将两个表中同一人的信息连接   表1.姓名=表2.姓名

    超连接查询

    Select  *from 表名1 inner join 表名2  on  表名1.属性名 = 表名2.属性名

    左右连接

    Select  *from 表名1 left  join 表名2  on  表名1.属性名 = 表名2.属性名

             -------表名1的记录都会被显示,表名2中只显示符合条件的记录进行连接无对应的用null填充

    Select  *from 表名1  right  join 表名2  on  表名1.属性名 = 表名2.属性名

             -------表名2的记录都会被显示,表名1中只显示符合条件的记录进行连接

    Select  *from 表名1 full  join 表名2  on  表名1.属性名 = 表名2.属性名

             -------表名1,表名2的记录都会被显示,符合条件的进行连接,没有符合的用null填充

    29 check 约束

       对属性值进行约束  只有满足约束时才能填充 否则 不能填充

           设计----- 要约束属性处右键----check约束----添加----表达式约束

    (  年龄>20 and 年龄<30 ,  总收入=工资+奖金  )

    增加约束

    Alter   table  表名  add  check(约束)

    修改约束

    Alter  table  表名  modify  属性名 check  (约束)

    30 设置主键

                   设计----要约束属性处右键-----设置主键

    31 唯一性约束 --------唯一性约束用来限制不受主键约束的列上的数据的唯一性

        设计---约束属性处---右键---索引键---添加---常规类型选择唯一键---列处选择需要唯一性约束的属性

    32 查看索引

    Exec   sp-helpindex   表名

    33创建索引

     Create index 索引名  on  表名  (创建索引的属性名 asc | desc)

    创建唯一索引

    Create  unique index 索引名  on 表名 (创建索引的属性名 asc | desc )

    34 更改索引名

    Exec sp_rename  ‘表名.索引名’ ,‘新索引名’ ,‘index’

    35 删除索引

    Drop index 表名.索引名

    36   创建视图

    Create view 视图名  as  select * from 表名 where 条件

    修改视图

    Alter  view 视图名  as  select语句相应的修改查询条件

    删除视图

    Drop view 视图名

  • 相关阅读:
    Python之控制台进度条实现
    Flask之接入自定义的图片验证码
    CISSP学习笔记——域1安全与风险管理
    Nginx+Keepalived实现四层及七层负载均衡
    【葵花宝典】kolla部署OpenStack-AllinOne
    【葵花宝典】All-in-One模式安装KubeSphere
    【易筋经】Llinux服务器初始化及常用命令大全
    python去除文件中重复的行
    PowerDesigner批量增加字段
    Docker使用
  • 原文地址:https://www.cnblogs.com/runner-ljt/p/4551562.html
Copyright © 2020-2023  润新知