数据更新:updata 逻辑运算符的优先等级问题 not>and>or 删除一个表中的内容 约束

来源:互联网 发布:数字域名网址 编辑:程序博客网 时间:2024/05/17 22:36

用sql标语句执行

1、设置文件夹权限
2、生成脚本
3、数据库备份与还原
4、数据表的复制
5、一次插入多条数据

 


数据更新:updata

--1、把表中TblTeacher表中所有年龄为19的姓名两边加上★,性别设置为女,工资都加上500

select * from TblTeacher

update TblTeacher set tTName='★'+tTName+'★',tTGender=0,tTSalary=tTSalary+500 where tTAge=19

--这里能否使用+=:tTSalary+=500,这样可以使用,但不推荐使用,因为这个只有2008版本的数据库才能使用

--2、将年龄为19,并且性别为女的人的姓名两边再加上两个☆

select * from TblTeacher

update TblTeacher set tTName='☆'+tTName+'☆' where tTAge=19 and tTGender=0

--3、把name中的★替换为☆
select * from TblTeacher

update TblTeacher set tTName=replace(tTName,'★','☆') where tTAge=19 and tTGender=0
--用replace来替换,replace中的内容参数,tTName是指满足的替换条件,★是指要被替换的内容,☆是指被替换过来的内容

 

--逻辑运算符的优先等级问题 not>and>or

--例子:生日在2000-10-10以下,年龄为10~50,名字为csdn
--tsage>10 and tsage<50  or tname='csdn' and(not tbirthday>'2000-10-10')

 

删除
--删除一个表中的内容
delete from TblTeacher;

--1、有删除条件时
delete from TblTeacher where tTAge=19 or tTAge is null;


--删除方法:truncate,用它删除,它的id号就会从1开始

--delete from 表名,truncate table 表名
--两者的区别:
--1、delete不能是自动编号返回为起始值,但是truncate能使自动增长的列的值返回为默认的种子。
--2、truncate只能一次清空,不能按条件删除,但是delete可以按条件清除部分记录
--3、truncate清空数据表性能(速度)比delete快得多

 

--约束:是写在表中的字段当中,是数据库中的数据更加完整
create database Test

create table Employee
(
EmpId int identity(1,1),
EmpName nvarchar(20) not null,
EmpGender nchar(2),--字符汉字为两个字符
EmpAge int,
EmpEmail varchar(20),
EmpAddress nvarchar(50)
)
go

create table Department
(
DepId int identity(1,1),
DepName nvarchar(20)
)

--设置错误后应先删除,更改后再执行
--drop table Employeee
--drop table Department

insert into Employee(EmpName)values('刘欢')
select * from Employee

 

--约束:唯一值约束、check的约束()、默认约束(列属性中设置)、非空约束(允许null值,不勾选为不能为空值)、外键约束()、主键约束
在设置关系约束的时候,有一个叫主键,一个叫外键,他们是分别位于两个表中,表一中的主键和表二的外键发生关系,是一对多的关系,表一中的主键必须是设置为主键的!(和唯一键不一样),当主键外键建立关系约束后,外键中的值,必须在主键中存在,不然就会报错。
(关系)外键关系

 

 

 

 

 


 

原创粉丝点击