SQL基础1

系统 1602 0
      
          1
      
       --
      
        创建一个数据库


      
      
          2
      
      
        create database DATA;


      
      
          3
      
       --
      
        删除数据库


      
      
          4
      
      
        Drop database DATA;


      
      
          5
      
      
          6
      
       --
      
        创建数据库的时候,指定一些数据库的相关的参数,比如大小增长当时,文件保存路径


      
      
          7
      
      
        create database DATA


      
      
          8
      
       on primary   --主数据文件*
      
        .mdf


      
      
          9
      
      
        (


      
      
         10
      
           --
      
        数据库的逻辑名称


      
      
         11
      
           name=
      
        '
      
      
        DATA
      
      
        '
      
      
        ,


      
      
         12
      
           filename=
      
        '
      
      
        E:\DATA.mdf
      
      
        '
      
      
        ,


      
      
         13
      
           filegrowth=
      
        10
      
      %,--
      
        增长值


      
      
         14
      
           maxsize=
      
        100mb  


      
      
         15
      
      
        )


      
      
         16
      
      
        log on


      
      
         17
      
      
        (


      
      
         18
      
         name=
      
        '
      
      
        DATA_log
      
      
        '
      
      
        ,


      
      
         19
      
         filename=
      
        '
      
      
        E:\DATA.ldf
      
      
        '
      
      
        ,


      
      
         20
      
         size=
      
        5mb,


      
      
         21
      
         filegrowth=
      
        10
      
      %
      
        ,


      
      
         22
      
         maxsize=
      
        50mb


      
      
         23
      
      
        )


      
      
         24
      
      
         25
      
       --
      
        切换数据库


      
      
         26
      
      
        use
      
      
         DATA


      
      
         27
      
      
          go


      
      
         28
      
         --
      
        创建一个班级表


      
      
         29
      
         create 
      
        table
      
      
         TblClass


      
      
         30
      
      
          (


      
      
         31
      
             --
      
        列名,数据类型、约束(自动编号、主键、外键、默认值等等)


      
      
         32
      
             ClsId 
      
        int
      
       identity(
      
        1
      
      ,
      
        1
      
      
        ) primary key,


      
      
         33
      
             ClsName nvarchar(
      
        50
      
      ) 
      
        not
      
      
        null
      
      
        ,


      
      
         34
      
             ClsDesc nvarchar(
      
        100
      
      
        )


      
      
         35
      
      
          )


      
      
         36
      
       --
      
        删除一个表


      
      
         37
      
       drop 
      
        table
      
      
         TblClass


      
      
         38
      
      
         39
      
       --
      
        创建一个学生表


      
      
         40
      
       create 
      
        table
      
      
         TblStudent


      
      
         41
      
      
        (


      
      
         42
      
        stuId 
      
        int
      
       identity(
      
        1
      
      ,
      
        1
      
      
        ) primary key,


      
      
         43
      
        stuName nvarchar(
      
        50
      
      ) 
      
        not
      
      
        null
      
      
        ,


      
      
         44
      
        stuGender bit 
      
        not
      
      
        null
      
      
        ,


      
      
         45
      
        stuAddress varchar(
      
        200
      
      
        ),


      
      
         46
      
        stuPhone varchar(
      
        50
      
      
        ),


      
      
         47
      
        stuAge 
      
        int
      
      
        ,


      
      
         48
      
      
         stuBirthday datetime,


      
      
         49
      
        stuIdNumber varchar(
      
        20
      
      
        ),


      
      
         50
      
        stuClsId 
      
        int
      
      
         51
      
      
        )


      
      
         52
      
      
         53
      
       --注意:bit类型,在写代码中用1或0来表示,不要用’
      
        false
      
      
        ’,会进行类型转换的


      
      
         54
      
       --
      
        向TbleClass表插入单条数据


      
      
         55
      
       insert into TblClass(ClsName,ClsDesc) values(
      
        '
      
      
        高三一班
      
      
        '
      
      ,
      
        '
      
      
        无此班
      
      
        '
      
      
        )


      
      
         56
      
      
         57
      
       --
      
        通过select语句来查询表中的所有数据


      
      
         58
      
       select *
      
         from TblClass


      
      
         59
      
      
         60
      
       --
      
        向TbleClass表插入多条数据


      
      
         61
      
      
        insert into TblClass(ClsName,ClsDesc)


      
      
         62
      
       select 
      
        '
      
      
        高三二班
      
      
        '
      
      ,
      
        '
      
      
        一般般
      
      
        '
      
      
         union all


      
      
         63
      
       select 
      
        '
      
      
        高三四班
      
      
        '
      
      ,
      
        '
      
      
        死一般
      
      
        '
      
      
         union all


      
      
         64
      
       select 
      
        '
      
      
        高三五班
      
      
        '
      
      ,
      
        '
      
      
        未开班
      
      
        '
      
      
         65
      
      
         66
      
       --
      
        将一个表中的数据备份到另一个表中


      
      
         67
      
      
         68
      
       --
      
        将TblClass表中的数据备份到newTblClass中


      
      
         69
      
       --
      
        这种写法会将TblClass表中的所有数据都插入到newTblClass表中


      
      
         70
      
       --
      
        前提是newTbleClass表不存在,如果存在则报错


      
      
         71
      
       select *
      
         into NewTblClass from TblClass


      
      
         72
      
      
         73
      
       --
      
        将另一个数据库中的表备份到TblTeacher中


      
      
         74
      
       select *
      
         into TblTeacher from ItCastCn.dbo.TblTeacher


      
      
         75
      
      
         76
      
       --
      
        如果我们只要表的结构,不需要表数据


      
      
         77
      
       select Top 
      
        0
      
       *
      
         into NewTblClass from TblClass 


      
      
         78
      
      
         79
      
      
         80
      
       --
      
        向一个已经存在的表中插入数据,数据的来源是另外的一张表


      
      
         81
      
      
        insert into NewTblClass(Clsname,ClsDesc)


      
      
         82
      
      
        select Clsname,ClsDesc from TblClass


      
      
         83
      
      
         84
      
      
         85
      
       --
      
        删除一条数据


      
      
         86
      
        delete from TblClass where ClsId=
      
        4
      
      
         87
      
      
         88
      
        --
      
        删除所有数据


      
      
         89
      
      
         90
      
        delete from TblClass  --此删除可用日记恢复!
      
        后续在插入数据时主键Id续之前的。比如之前到10,删完之后在插一条主键Id是11


      
      
         91
      
      
         92
      
        truncate 
      
        table
      
       TblClass  --
      
        此删除不可恢复,慎用!数据非常快,效果:如同新建一个表


      
      
         93
      
      
         94
      
        --
      
        区别:


      
      
         95
      
       --
      
        1
      
      
        .delete 语句删除数据的时候,自动编号没有恢复到默认值。但是truancate语句重新设置了自动编号


      
      
         96
      
       --
      
        2
      
      
        .通过truncate语句删除表中的数据的时候,只能一次性都清空,不能根据条件来删除,而delete可以根据条件来删除。


      
      
         97
      
       --
      
        3
      
      
        .truncate语句清空表中的数据时,速度(性能)比delete语句快的多的多的多。


      
      
         98
      
       --
      
        4
      
      
        ..truncate语句不触发delete触发器。


      
      
         99
      
      
        100
      
        --
      
        修改数据


      
      
        101
      
        update TblClass set ClsName=
      
        '
      
      
        三年二班
      
      
        '
      
      ,ClsDesc=
      
        '
      
      
        刚开班
      
      
        '
      
       where ClsId=
      
        1
      
      
        102
      
      
        103
      
       --
      
        注意在操作数据库之前一定要做备份


      
      
        104
      
      
        105
      
       --逻辑运算符的优先级问题:
      
        not
      
       > 
      
        and
      
       > 
      
        or
      
      
        106
      
      
        107
      
       delete from TblTeacher where  tage=
      
        19
      
      
        or
      
       tage is 
      
        null
      
      
        108
      
      
        109
      
      
        110
      
      
        111
      
       --
      
        手动添加约束


      
      
        112
      
       select *
      
         from Tblclass


      
      
        113
      
       --
      
        手动添加一列


      
      
        114
      
       alter 
      
        table
      
       TblClass add ClsAge 
      
        int
      
      
        115
      
      
        116
      
       --
      
        删除一列


      
      
        117
      
       alter 
      
        table
      
      
         TblClass drop Column ClsAge


      
      
        118
      
      
        119
      
       --
      
        修改数据类型


      
      
        120
      
       alter 
      
        table
      
       TblClass alter column ClsAge varchar(
      
        10
      
      
        )


      
      
        121
      
      
        122
      
       --
      
        为一个表增加主键


      
      
        123
      
       alter 
      
        table
      
      
         NewTblClass 


      
      
        124
      
      
        add constraint PK_NewTblClass_ClsId primary key(ClsId)


      
      
        125
      
      
        126
      
       --增加一个非空约束--
      
        其实就是修改列(要在该列不为空的情况下修改)


      
      
        127
      
       alter 
      
        table
      
      
         TblClass


      
      
        128
      
       alter Column ClsAge varchar(
      
        10
      
      ) 
      
        not
      
      
        null
      
      
        129
      
      
        130
      
       --
      
        增加一个唯一的约束


      
      
        131
      
       alter 
      
        table
      
      
         TblClass


      
      
        132
      
      
        add constraint UQ_tblClass_ClsName unique(ClsName)


      
      
        133
      
      
        134
      
       --
      
        添加一个默认约束


      
      
        135
      
       alter 
      
        table
      
      
         TblClass 


      
      
        136
      
       add constraint DF_TblClass_ClsAge 
      
        default
      
      (
      
        '
      
      
        18
      
      
        '
      
      ) 
      
        for
      
      
         ClsAge


      
      
        137
      
      
        138
      
       --添加一个检查约束;年龄在0-
      
        120之间


      
      
        139
      
       alter 
      
        table
      
      
         TblClass 


      
      
        140
      
       add constraint CK_TblClass_ClsAge check(ClsAge>=
      
        0
      
      
        and
      
       ClsAge<=
      
        120
      
      
        )


      
      
        141
      
      
        142
      
       --
      
        添加外键约束,


      
      
        143
      
       alter 
      
        table
      
       TblStudent add ClsId 
      
        int
      
      
        not
      
      
        null
      
      
        144
      
       alter 
      
        table
      
      
         TblClass 


      
      
        145
      
      
        add constraint PK_TblStudent_ClsId primary key(ClsId)


      
      
        146
      
      
        147
      
       alter 
      
        table
      
      
         TblStudent 


      
      
        148
      
      
        add constraint FK_TblStudent_TblClass foreign key(ClsId)


      
      
        149
      
      
        references TblClass(ClsId) on delete cascade


      
      
        150
      
      
        151
      
       --
      
        删除约束


      
      
        152
      
       alter 
      
        table
      
      
         TblClass drop constraint FK_TblStudent_TblClass


      
      
        153
      
       --
      
        删除多条约束,约束名用逗号隔开


      
      
        154
      
       alter 
      
        table
      
      
         TblClass drop constraint 


      
      
        155
      
      
        FK_TblStudent_TblClass,


      
      
        156
      
      
        PK_TblStudent_ClsId,


      
      
        157
      
       CK_TblClass_ClsAge
    

 

SQL基础1


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论