sql更新数据库语句
UPDATE语句用于更新修改指定记录的数据,其用法为:
UPDATE tbl_name SET col_name1=value1, col_name2=value2, … WHERE conditions
对符合条件的记录,更新修改指定字段的值。若没有WHERE条件限定,则对所有记录进行更新修改。例如:
图 4.23 更新记录
⑵ SQL数据库语句
/*--------------------------------------------------
--SQL Server 2012 & T-SQL Lesson 3 - BasicQueries
----------------------------------------------------*/
--Topic 1
SELECT <table fields list>
FROM <table names list>
WHERE <row constraints specification>
GROUP BY <grouping specification>
HAVING <grouping selection specification>
ORDER BY <order rules specification>
--Topic 2
use [AdventureWorks2012]
go
select Top 100 * from [Proction].[Proct]
SELECT *
FROM SALES.SALESORDERDETAIL
--Topic 3
select * from [Proction].[Proct]
select ProctID, Name, ProctNumber, Color, Size, ListPrice
from Proction.Proct
select ProctID, Name, ProctNumber, Color, Size, ListPrice
from Proction.Proct
order by listprice desc --desc=descending order ; asc=ascending order
select ProctID, Name, ProctNumber, Color, Size, ListPrice
from Proction.Proct
order by listprice desc,Name
select ProctID, Name, ProctNumber, Color, Size, ListPrice
from Proction.Proct
order by 2
--Topic 4
select ProctID, Name, ProctNumber, isnull(Color,''), isnull(Size,''), ListPrice
from Proction.Proct
--Topic 5
select ProctID, Name, ProctNumber,
isnull(Color,'') as Color, isnull(Size,'') as Size123, --using an alias
ListPrice
from Proction.Proct
select ProctID, Name as ProctName, --using an alias
'The list price for ' + ProctNumber + ' is $ ' + convert(varchar,ListPrice) +'.' ,--using the concatenation to join character end-to-end.
'The list price for ' + ProctNumber + ' is $ ' + convert(varchar,ListPrice) +'.' as [Description] --using brackets to let SQL server conside the strin as a column name
from Proction.Proct
--Topic 6
select BusinessEntityID,rate from [HumanResources].[EmployeePayHistory]
select BusinessEntityID
,rate*40*52 as AnnualSalary
,round(rate*40*52,1) as AnnualSalary
,round(rate*40*52,0) as AnnualSalary
from [HumanResources].[EmployeePayHistory]
select BusinessEntityID
,(rate+5)*40*52 as AnnualSalary
from [HumanResources].[EmployeePayHistory]
--Topic 7
select * from [Sales].[SalesOrderHeader]
select * from [Sales].[SalesOrderHeader]
where SalesPersonID=275
select * from [Sales].[SalesOrderHeader]
where SalesOrderNumber='so43670'
select * from [Sales].[SalesOrderHeader]
where TotalDue>5000
select SalesOrderID,OrderDate,SalesPersonID,TotalDue as TotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID=275 and TotalDue>5000 --Comparison conditions: =,>,<,>=,<=,<>
select SalesOrderID,OrderDate,SalesPersonID,TotalDue as TotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID=275 and TotalDue>5000 and Orderdate between '2005-08-01' and '1/1/2006'
select SalesOrderID,OrderDate,SalesPersonID,TotalDue as TotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID=275 and TotalDue>5000 and Orderdate >= '2005-08-01' and Orderdate < '1/1/2006'
select * from [Proction].[Proct]
where name ='Mountain-100 Silver, 38'
--Topic 8
select * from [Proction].[Proct]
where name like'Mountain'
select * from [Proction].[Proct]
where name like'%Mountain%' --Wildcard % matches any zero or more characters
select * from [Proction].[Proct]
where name like'mountain%' -- "_" matches any single character
select * from [Proction].[Proct]
where name like'_ountain%'
--Topic 9
select * from [Proction].[Proct]
where color in ('red','white','black')
select * from [Proction].[Proct]
where size in ('60','61','62')
select * from [Proction].[Proct]
where class not in ('H') -- same as using: <> 'H'
--Topic 10
select * from [Proction].[Proct]
where size is null
select * from [Proction].[Proct]
where size is not null
--Topic 11
select * from [Proction].[Proct]
where color ='white'or color ='black'
select * from [Proction].[Proct]
where color ='white'and color ='black'
select SalesOrderID,OrderDate,SalesPersonID,TotalDue as TotalSales
from [Sales].[SalesOrderHeader]
where (SalesPersonID=275 or SalesPersonID=278) and TotalDue>5000
--Topic 12
select count(SalesPersonID)
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null
select distinct(SalesPersonID)
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null
select count(distinct(SalesPersonID))
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null
--Topic 13
select
Avg(TotalDue) as AverageTotalSales --aggregate functions
from [Sales].[SalesOrderHeader]
select
Avg(TotalDue) as AverageTotalSales
,Min(TotalDue) as MinimumTotalSales
,Max(TotalDue) as MaximumTotalSales
,Sum(TotalDue) as SummaryTotalSales
from [Sales].[SalesOrderHeader]
select SalesPersonID,Max(TotalDue) as MaximumTotalSales
from [Sales].[SalesOrderHeader]
--Error Message: Column 'Sales.SalesOrderHeader.SalesPersonID' is invalid in the select list
--because it is not contained in either an aggregate function or the GROUP BY clause.
select SalesPersonID,Max(TotalDue) as MaximumTotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null
group by SalesPersonID
order by SalesPersonID
select SalesPersonID,OrderDate,Max(TotalDue) as MaximumTotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null
group by SalesPersonID,OrderDate --Remember to put all un-aggregated columns after "group by"!!!
order by SalesPersonID
select SalesPersonID,OrderDate,Max(TotalDue) as MaximumTotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null
group by SalesPersonID,OrderDate
having Max(TotalDue)>150000
order by SalesPersonID
----The classical T-SQL query!!!
select SalesPersonID,OrderDate,Max(TotalDue) as MaximumTotalSales
from [Sales].[SalesOrderHeader]
where SalesPersonID is not null and OrderDate >='2007/1/1'
group by SalesPersonID,OrderDate
having Max(TotalDue)>150000
order by OrderDate desc
⑶ sql数据库一些简单语句
给你几个最简单的案例吧
1、查询所有
:
select
*
from
表名
2、条件查询:
select
*
from
表名
where
字段=条件
3、插入数据更新表
:
insert
into
表(字段1、字段2、字段3...)
values(值1、值2、值3...)
4、更新原有数据:
update
表
set
(字段1=值1、字段2=值2...)
where
字段=条件
⑷ sql创建数据库语句
创建数据库的SQL语句:
create database stuDB
on primary -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='stuDB_data', -- 主数据文件的逻辑名称
filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='stuDB_log',
filename='D:\stuDB_log.ldf',
size=2mb,
filegrowth=1mb
)
创建表和删除表的SQL语句如下:
use StuDB
go
if exists(select * from sysobjects where name='stuMarks')
drop table stuMarks
create table stuMarks
(
ExamNo int identity(1,1) primary key,
stuNo char(6) not null,
writtenExam int not null,
LabExam int not null
)
go
-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列
alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table 表名
drop constraint 约束名
alter table stuMarks
add constraint UQ_stuNo Unique(stuNo)
alter table stuMarks
drop constraint UQ_stuNo
/*--添加SQL登录账户--*/
exec sp_addlogin 'xie', '123456' -- 账户名为xie,密码为123456
--删除xie账户名
exec sp_droplogin 'xie'
/*--在stuDB数据库中添加两个用户(必须存在)--*/
use stuDB
go
exec sp_grantdbaccess 'xie','123456'
go
-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,
-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用
-- 户始终出现在每个数据库中
/* --给数据库用户授权-- */
-- 授权的语法如下
-- grant 权限 [on 表名] to 数据库用户
use stuDB
go
grant select,update,insert on stuMarks to xie
grant create table to xie
go
⑸ sql数据库查询语句
select gongsi as 单位,bumen as 部门,xingming as 姓名,xingbie as 性别,nianling as 年龄
from pxsgs
where gongsi='上海第二公司' and bumen='上瓷部' and xingming='李雷'
select gongsi as 单位,bumen as 部门,xingming as 姓名,xingbie as 性别,nianling as 年龄
from pxsgs
where gongsi='上海第二公司' and bumen='上瓷部' and xingming='张秋林'
⑹ SQL数据库查询语句!
select * from 6130 where 编号列 = '61000014'
这个其实是个很简单的查询。
原理是这样的
select * from 表名 where 编号列 = '61000014'
⑺ 关于SQL数据库的语句
发我邮箱[email protected]
9.检索XK数据库的COURSE表的课程信息,要求显示报名人数与限选人数之比.
select *,WillNum/LimitNum as rate from Course
10. 检索课程表中最小的报名人数、最大的报名人数以及平均报名人数.
select min(WillNum) as a,max(WillNum) as b,avg(WillNum) as c from Course
11.检索课程信息(包括报名人数与限选人数之比),要求检索结果按照报名人数升序排序.
select *,WillNum/LimitNum as rate from Course
order by WillNum
26.按课程分类统计平均报名人数.
select kind,avg(WillNum) as '平均数' from Course
group by Kind
27.检索”信息技术”类课程的平均报名人数.
select avg(WillNum) as '平均数' from Course
where Kind='信息技术'
28.检索平均报名人数大于25人的课程分类和类平均报名人数.
select Kind,avg(WillNum) from Course
group by Kind
having avg(WillNum)
⑻ sql数据库语句
那个涉及到数据库备份的知识,
在将某个表的数据插入到另一表之中,必须确保两个表的结构完全一侄,然后直接一条sql语句搞定,
⑼ 数据库SQL语句
以前在SQL 中写SP 时,如比较复杂时,喜欢中间使用临时表来暂存相关记录,这样的好处有很多,提高效率,提高程序的可读性等。当然后临时表的使用,一般均会使用用户临时表,即 #TempTable, 但有一些情况下,偶尔也会使用系统临时表,即 ##TempTable。
两种临时表的的使用语法差不多,可用几种方法来建立,可 Create ,也可 Select Into 。
当然关键的是系统临时表和用户临时表的区别:(如下)
1)用户临时表:用户临时表的名称以单个数字符号(#)开头;
用户临时表只对创建这个表的用户的Session可见,对其他进程是不可见的.
当创建它的进程消失时这个临时表就自动删除.
2)系统临时表:系统临时表的名称以数字符号(##)开头
全局临时表对整个SQL Server实例都可见,但是所有访问它的Session都消失的时候,它也自动删除.
明白了这些就知道了他们的用途和限制,但有一些地方还是容易出问题,故在此专门列出。
1, 在使用 Exec(SQLScript) 执行Script 时,其间也相当于单独有一个进程处理,故执行期间内如果创建用户临时表的话,在执行完成后也就结束了,即执行完成后,你不可以使用在 SQLScript 中生成的用户临时表,可以用系统临时表代替。
2, 在使用用户临时表时,有一个问题要注意,就是最好在建立时指定其用户为 dbo ,以避免可能的问题;
3, 在使用系统临时表时,一定要考虑到,不可以将其用于多用户使用的环境功能或系统中,否则就可能出现冲突的问题,导致结果不可预料。
如果在多用户使用的环境中使用系统临时表,则可能会出现多个用户同时对同一系统临时表进行处理,从而导致冲突和数据的错误。以前没有注意这一点,我就因此而浪费过不少的时间。
有时需要使用Exec(SQLScript)方式产生数据,但其中只能使用系统临时表,如何处理呢?
1, 可以预先定义好一个用户临时表,然后使用 Insert #TempTable Exec(SQLScript) 的方式,即可将Exec 产生的结果记录加入用户临时表,从而避免使用系统临时表;
2, 从根本上避免使用 Exec() ,可用其它方式代替。
Exec() 的使用是因为有一些 Script 比较复杂,其中需要一些组合字符,如 in ('','','') 或其它可能的情况,在此情况,无法直接使用一般的Script 产生记录,只能先产生一个组合的Script ,然后用Exec 执行
⑽ sql数据库 语句编写
Student(SNum,SName,Sex,Birthday)
其中SNum表示学号,SName表示姓名,Sex表示性别,Birthday表示生日,主关键字为SNum。
Course(CNum,CName,Credit,CTime)
其中CNum表示课程号,CName表示课程名,Credit表示学分,CTime表示学时数,主关键字为CNum。
SC(SNum,CNum,Grade)
其中SNum表示学号,CNum表示课程号,Grade表示成绩,主关键字为(SNum,CNum)。
SELECT A.CName,AVG(B.Grade) 平均成绩 FROM Course A,SC B
WHERE A.CNum = B.CNum
GROUP BY A.CName