zoukankan      html  css  js  c++  java
  • SQL基础1 Carl

      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
  • 相关阅读:
    文件上传之 MultipartFile
    EL表达式从数组 Map List集合取值
    Servlet监听器
    分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)
    分页技术框架(Pager-taglib)学习二(SSH数据库分页)
    分页技术框架(Pager-taglib)学习一(页面分页)
    从request获取各种路径总结
    jsp的页面包含——静态包含、动态包含
    Java对象的浅克隆和深克隆
    Java序列化与反序列化学习(三):序列化机制与原理
  • 原文地址:https://www.cnblogs.com/sc0791/p/2653063.html
Copyright © 2011-2022 走看看