设为首页 加入收藏

TOP

数据库表修改删除及查询操作(一)
2014-11-24 01:24:22 来源: 作者: 【 】 浏览:19
Tags:数据库 修改 删除 查询 操作
数据库表修改删除及查询操作
一、导入数据时的问题
1、自动增长量不可以手动插入,特殊情况需要时,可以这样 set Identity_insert TbClass on
insert into tbclass (TclassId, Tclassname,Tclassdesc ) values (2, 'Heima8' ,'哈哈');
--打开Identity_Insert,并且在插入数据时必须指定列名
set identity_insert tbclass off --数据插入结束后,将其关闭
2、两种批量插入数据的方法
语法一
Insert into 表名 (列名)select 结果集 insert into tbstudent( TName, TBirthday, TClassId, TGender, TCardId, TAddress)
i. selectTName , TBirthday , TClassId , TGender , TCardId , TAddress from tbstudent
语法二 Select * Into 新表 from 表名 (新表必须不存在)不会复制约束,包括主键。 Select * into newtbstudent from tbstudent
select * into NewTable from Table where 1<>1
这样做可以只复制表结构,但效率不高,推荐使用这种方式: select Top 0 * NewTable from Table;
二、删除表数据
两种删除的方法
delete from 表名 delete from tbstudent where tid =6;
truncate table 表名 truncate table newtbstudent
truncate 与 delete的区别
truncate只能删除全部数据,不能删除部分数据。
truncate删除速度比delete快
truncate删除是破坏性的,不写日志
truncate语句不触发delete触发器
truncate语句会把表中的自动编号重置为默认值,而delete则不会
三、约束-保证数据完整性
1.主键约束 4.默认约束
2.外键约束 5.检查约束
3.唯一约束 6.非空约束
数据完整性说白了就是数据库中数据是正确的
比如:性别,有有男和女,年龄>18
1、主键约束(PK)
primary key constraint 唯一且不为空
2、非空约束
not null
3、唯一约束(UQ)
unique constraint 唯一,允许为空,但只能出现一次 --添加一个唯一约束
--语法: alter table 表名add constraint 约束名约束的关键字(列名)
alter table tblclass add constraint UQ_tblClass_tClassDesc Unique(tClassDesc)
select * from TblClass
insert into TblClass(tClassDesc) values('heima705-28开班')
4、默认约束 (DF)
default constraint 默认值
--添加一个默认值约束
alter table tblClass add constraint DF_TblClass_tClassDesc Default(N'开班') for tClassDesc
5、检查约束 (CK)
check constraint 范围以及格式限制
--Check约束,就是写一个表达式,当数据往数据库表中插入时,执行这个表达式,
--如果表达式的值为true,则允许插入这个数据,如果表达式的值为false,则不允许
--插入这个数据
update TblClass set tclassmaxstudent=50
select * from TblClass
insert into TblClass values('11','222333322',35)
select LEN(tclassName),tclassName from TblClass
--添加一个检查tclassName字段中的数据必须大于等于的约束
alter table tblClass add constraint CK_TblClass_TClassName
Check(len(tClassName)>=3)
6、外键约束 (FK)
foreign key constraint 表关系
--建外键,在外键表上点右键,设计
--外键约束一旦创建好后,添加数据库,必须选添加主键表,再添加外键表
--删除数据时,一定要先删除外键表,再键除主键表中的数据
--写代码创建外键约束
alter table tblStudent add constraint
FK_TblStudent_tSclassId Foreign key(tSClassId)
References TblClass(tClassId) on delete cascade
delete from TblClass where tClassId=4
增加外键约束时,设置级联更新、级联删除
[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
7、批量添加约束
alter table Teacher Add
constraint DE_Teacher_tsex default(N'男') for tsex,
constraint CK_Teacher_tsex Check(tsex=N'男' or
tsex=N'女'
)
8、批量删除约束
alter table Teacher drop
constraint CK_Teacher_tsex,
constraint DE_Teacher_tsex
一、建表
use Test2
create table TbStudent
(
Tid int identity primary key ,
TName Nvarchar (50),
TBirthday date ,
TClassId int ,
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一些比较难的sql问题:6 下一篇一些比较难的sql问题:8

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: