1 数据库的基本操作(增 删 改 查)
1.1增
//1.1.1
// 表名:table1
//列名:column1 column2 column3
//列值:values 后在括号中填充列值 ps:列值为数字时直接填写数字,为字符串时需要用单引号括起来
insert into table1 (column1,column2,column3)values(1,2,'zifuchuan' )
// 1.1.2
// 表名:table1 table2
// 列名:table1 中要插入的列名:colt1,colt2,colt3 table2 中查询的列名:colt2 ,colt2,colt3
// ps:该方法会从table2 中搜索colt2 ,colt2,colt3 三列的列值,作为table1 的colt1,colt2,colt3的列值插入table1 中
insert into table1 (colt1,colt2,colt3)select colt2 ,colt2,colt3 from table2
1.2 删
// 该方法用于删除table1 中所有的内容如需根据特定的条件删除需要在该语句后面添加where + 搜索条件
delete from table1
1.3 修
update table1 set colum1 = 'newvalue' // 将colum1 的列值全部设置为newvalue
update table1 set colum1 = colum2 , colum2 = colum1 // 将table1 中colum1 和colum2 的列值进行替换
update table1 set name = REPLACE(name ,'小','大') // 字符串替换,将table1中name 列值中的“小”字替换为“大”字。
1.4 查询语句
查询语句主要包括三部分:select关键字表示该语句为搜索语句 ,where 后面添加搜索的条件约束,order by 会将搜索的数据按约定的条件进行排序。
select * from table1 where name = '小明' order by id desc // 搜索出table1 中name列值为小明的数据,并根据id降序排列
select name,id from table1 where name like '%明%' order by id asc // 找出table1 中name 中包含“明”字的数据,并根据id升序排列。
select * from person where charindex (name,'小明,小刘,小张')> 0 order by id asc // 搜索person表中name 为小明,小刘,或小张的所有数据。
2.1 用sql实现一个循环
DECLARE @name VARCHAR(50)
--声明一个长度为50的字符串变量PAYID
DECLARE C1 CURSOR FOR
--声明一个数据容器 C1 搜索后将搜索到的数据存入 C1 中
select UserName from person where name like '%晓%'
OPEN C1
FETCH NEXT FROM C1 INTO @name
--循环遍历获取C1 中存储的数据存入变量PAYID中
WHILE @@FETCH_STATUS = 0
-- 检测获取状态 获取成功时进行一下操作
begin
update person set UserName = @name+'二年级一班' where UserName = @name
FETCH NEXT FROM c1 INTO @name
end
CLOSE c1
DEALLOCATE c1
2.2 搜索中常用的关键词
2.2.1 top 1 :获取搜索到的所有数据中的第一条数据
select top 1 name from person // 搜索person表中第一个名字(name)
2.2.2 MAX 函数 搜索每列的最大值
select MAX(age) from person // 搜索person 表中最大的年龄(age)
2.2.3 ISNULL(列名,‘字段为null值时替代的字符串’) 函数
select ISNULL(age,'1') from person // 搜索person 表中所有的年龄信息,如果该字段为null值用1填充
2.2.4 LEFT(,) RIGHT(,) 用于对某个字段进行截取
select right(name,1) as name from person // 搜索person 表中name 字段的最后一个字符