简单的sql语句
❶ sql简单语句
1.CREATEDATABASE[HIS]
2.CREATETABLE[Patient](
p_idintCONSTRAINTPK_idPRIMARYKEY,--病人ID,自动编号
p_namenvarchar(50)notnull,--病人姓名
p_sexnvarchar(1)CHECK(p_sex=Y'男'orp_sex=N'女'),--加检查约束,格式:check(条件表达式)
p_birthsmallDatetime,--出生日期
p_addressnvarchar(200),--家庭地址
p_(ps_id)--就诊状态,外码,引用PatientStatus的ps_id字段
)
CREATETABLE[PatientStatus](
ps_idintCONSTRAINTPK_idPRIMARYKEY,
ps_namenvarchar(20)
)
3.ALTERTABLE[Patient]ADDCOLUMNidcardchar(18)
4.SELECTp_name,DATADIFF(year,p_birth,getdate())as年龄,p_sexFROMPatientWHEREp_sex='Y'
5.SELECT*,DATADIFF(year,p_birth,getdate())as年龄FROMPatientWHEREDATADIFF(year,p_birth,getdate())=
(
SELECTDATADIFF(year,p_birth,getdate())as年龄FROMPatientWHEREp_name='潘石灰'
)
6.SELECTd_name,COUNT(d_name)FROMDoctorWHEREd_profession='主任医师'
7.SELECTd_depid,COUNT(d_name)FROMDoctorGROUPBYd_depid
8.SELECT*_name='门诊一楼'andDoctor.d_depid=department.dep_id
❷ 求简单的SQL语句!
对于楼主的问题,我提出我的方法,可能比较麻烦,不是你想要得方法,仅仅作为参考,谢谢。
问题是:把EXCEL中的数据导入到数据库中,修改数据库中E_mail字段相对应的IsUsed的值?
可以使用update语句进行更新,用for循环把excel中的每一行取出来进行操作,取出的每一行都有两个值,一个是E_mail字段,另一个是对应的IsUsed的值,然后把这两个值作为参数传递到如下sql语句中
update table set isUsed=? where E_mail=?;
执行上面的sql语句,就可以更新表中相应的数据了。
导入jxl.jar包
读取excel的代码如下:
String path="";//excel文件所在目录
Workbook wb = null;
try {
wb = Workbook.getWorkbook(new File(path));
Sheet sheet = wb.getSheet(0);//读取第一个sheet
Cell[] cell = sheet.getColumn(0);//读取第一列数据
String E_mail = null;
int IsUsed = 0;
for (int i = 1; i < cell.length; i++) {
E_mail=sheet.getCell(0, i).getContents();
E_mail=Integer.parseInt(sheet.getCell(1, i).getContents();)
//然后在这里写数据库更新代码,E_mail和E_mail是两个参数。
}
}
book.close();
} catch (Exception e) {
e.printStackTrace();
}
❸ sql server 简单的语句
SQL语句大全
By
bob
发表于
2008-3-28
8:26:00
一、基础
1、说明:创建数据库
Create
DATABASE
database-name
2、说明:删除数据库
drop
database
dbname
3、说明:备份sql
server
---
创建
备份数据的
device
USE
master
EXEC
sp_admpdevice
'disk',
'testBack',
'c:\mssql7backup\MyNwind_1.dat'
---
开始
备份
BACKUP
DATABASE
pubs
TO
testBack
4、说明:创建新表
create
table
tabname(col1
type1
[not
null]
[primary
key],col2
type2
[not
null],..)
根据已有的表创建新表:
A:create
table
tab_new
like
tab_old
(使用旧表创建新表)
B:create
table
tab_new
as
select
col1,col2…
from
tab_old
definition
only
5、说明:删除新表
drop
table
tabname
6、说明:增加一个列
Alter
table
tabname
add
column
col
type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:
Alter
table
tabname
add
primary
key(col)
说明:删除主键:
Alter
table
tabname
drop
primary
key(col)
8、说明:创建索引:create
[unique]
index
idxname
on
tabname(col….)
删除索引:drop
index
idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create
view
viewname
as
select
statement
删除视图:drop
view
viewname
10、说明:几个简单的基本的sql语句
选择:select
*
from
table1
where
范围
插入:insert
into
table1(field1,field2)
s(1,2)
删除:delete
from
table1
where
范围
更新:update
table1
set
field1=1
where
范围
查找:select
*
from
table1
where
field1
like
’%1%’
---like的语法很精妙,查资料!
排序:select
*
from
table1
order
by
field1,field2
[desc]
总数:select
count
as
totalcount
from
table1
求和:select
sum(field1)
as
sum
from
table1
平均:select
avg(field1)
as
avg
from
table1
最大:select
max(field1)
as
max
from
table1
最小:select
min(field1)
as
min
from
table1
11、说明:几个高级查询运算词
A:
UNION
运算符
UNION
运算符通过组合其他两个结果表(例如
TABLE1
和
TABLE2)并消去表中任何重复行而派生出一个结果表。当
ALL
随
UNION
一起使用时(即
UNION
ALL),不消除重复行。两种情况下,派生表的每一行不是来自
TABLE1
就是来自
TABLE2。
B:
EXCEPT
运算符
EXCEPT
运算符通过包括所有在
TABLE1
中但不在
TABLE2
中的行并消除所有重复行而派生出一个结果表。当
ALL
随
EXCEPT
一起使用时
(EXCEPT
ALL),不消除重复行。
C:
INTERSECT
运算符
INTERSECT
运算符通过只包括
TABLE1
和
TABLE2
中都有的行并消除所有重复行而派生出一个结果表。当
ALL
随
INTERSECT
一起使用时
(INTERSECT
ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
太多了,我建议你还是买本书看看吧
❹ 简单的SQL语句
use master
go
exec sp_configure 'show advanced options', 1
go
reconfigure
go
exec sp_configure 'xp_cmdshell', 1
go
reconfigure
go
exec xp_cmdshell 'md F:\数据库\'
goif exists (select dbid from sysdatabases where [name] = 'school')
drop database school
go
---创建数据库school
create database school
on primary
(
name = 'school',
filename = 'F:\数据库\school.mdf'
)
log on
(
name = 'school_log',
filename = 'F:\数据库\school_log.ldf'
)
gouse school
go
---创建表student
create table student
(
[student_id] int identity(1,1) primary key not null,
[name] varchar(50) not null,
[class_id] int not null,
)
go
---创建表class
create table class
(
[class_id] int identity(1,1) primary key not null,
[name] varchar(50) not null,
)
go ---添加主外键关系
alter table student add constraint FK_class_id foreign key(class_id) references Class(class_id)
go ---插入班级表数据
insert into class([name]) values('一班')
insert into class([name]) values('二班') ---插入学生表数据
insert into student([name], [class_id]) values('学生1', 1)
insert into student([name], [class_id]) values('学生2', 1)
insert into student([name], [class_id]) values('学生3', 1)
insert into student([name], [class_id]) values('学生4', 2)
insert into student([name], [class_id]) values('学生5', 2)
insert into student([name], [class_id]) values('学生6', 2) ---查询一班所有学生成绩按降序排列
select * from student where [class_id] = 1 order by [student_id] desc ---复制表student所有内容到back_student
select * into back_student from student ---查询一班学生信息 name和class链接
select (select [name] from class where class.[class_id] = student.[class_id]) + [name] from student where [class_id] = 1 数据库设计一般学生信息和班级是分为两张表的,否则班级列为冗余信息。
❺ 求助几个简单的sql的命令语句
奇怪,第一种可以,执行第二种方法提示无效:select * from card.log消息 208,级别 16,状态 1,第 1 行对象名 'card.log' 无效。调试了一下,原来还需要加多一个点,就正常了。注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。注:索引是不可更改的,想更改必须删除重新建。查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。INTERSECT运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。注:使用运算词的几个查询结果行必须是一致的。左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。一张表,一旦分组 完成后,查询后只能得到组相关的信息。在selecte统计函数中的字段,不能和普通的字段放在一起;分离数据库: sp_detach_db;附加数据库:sp_attach_db 后接表明,附加需要完整的路径名下列语句部分是Mssql语句,不可以在access中使用。DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。注:索引是不可更改的,想更改必须删除重新建。查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。注:使用运算词的几个查询结果行必须是一致的。左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。其次,大家来看一些不错的sql语句10、说明:两张关联表,删除主表中已经在副表中没有的信息22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环:这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500就是数据库内记录的总数)。然后,你遍历每一记录来测试ID 的值、检查其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码。假如你的RNumber 等于495,那么要循环一遍数据库花的时间可就长了。虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候不就死定了?采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录的recordset,如下所示:不必写出RNumber 和ID,你只需要检查匹配情况即可。只要你对以上代码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random 示例扩展一下就可以用SQL应对上面两种情况了。为了取出几条随机选择的记录并存放在同一recordset内,你可以存储三个随机数,然后查询数据库获得匹配这些数字的记录:假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),你可以用BETWEEN 或者数学等式选出第一条记录和适当数量的递增记录。这一操作可以通过好几种方式来完成,但是 SELECT 语句只显示一种可能(这里的ID 是自动生成的号码):注意:以上代码的执行目的不是检查数据库内是否有9条并发记录。随机读取若干条记录,测试过该方法用于执行SQL语句。根据SQL语句执行后是否返回记录集,该方法的使用格式分为以下两种:1.执行SQL查询语句时,将返回查询得到的记录集。用法为:Execute方法调用后,会自动创建记录集对象,并将查询结果存储在该记录对象中,通过Set方法,将记录集赋给指定的对象保存,以后对象变量就代表了该记录集对象。2.执行SQL的操作性语言时,没有记录集的返回。此时用法为:·RecordAffected 为可选项,此出可放置一个变量,SQL语句执行后,所生效的记录数会自动保存到该变量中。通过访问该变量,就可知道SQL语句队多少条记录进行了操作。·Option 可选项,该参数的取值通常为adCMDText,它用于告诉ADO,应该将Execute方法之后的第一个字符解释为命令文本。通过指定该参数,可使执行更高效。这三个方法是连接对象提供的用于事务处理的方法。BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并恢复到处里前的状态。BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。能换种表达式么,比如我要弄成200-400之间的话,这样就不行了吧。。
❻ 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简单查询语句
1、首先打开数据库,建立好表。
❽ 简单的SQL语句,帮帮忙。谢谢!
1insert into Teachers values('300008',' 杨梦',' 女 ', '59', ' 66/04/22','YES','1660' ,'210' )2 delete Teachers where 年龄<36 and 性格='女'3 update Teachers set 应发工资=应发工资+应发工资*1/5 where (year(getdate())-year(参加工作年月))>254.select 教师号,姓名,应发工资-扣除工资 as 实发工资 from Teachers5.select count(*) as 教师的人数,avg(应发工资-扣除工资) from Teachers6.select 教师号,姓名,应发工资-扣除工资 as 实发工资 from Teachers where year(参加工作年月)<19917.select max(应发工资-扣除工资),min(应发工资-扣除工资),avg(应发工资-扣除工资) from Teachers8.select 教师号,姓名 from Teachers where 党员='YES' order by 年龄 DESC 1.select count(学号) from Students group by 教师号2.select min(成绩) as 最低分,max(成绩) as 最高分 ,avg(成绩) as 平均成绩
from Students group by 教师号3.select 教师号,姓名,性别 from Students where 学号=030012
❾ SQL 简单语句求写
首先exist表示后面跟着的子句查询有值则符合条件,反正则查不出来数据,然后说一下你现在的sql怎么改,我建议你分别针对a表写两个子查询,各自带日期查询,然后针对两个子查询起别名做关联,建议用join不加left,最后where里面直接判断第一个临时表中标志b不等于第二个即可,不需要写固定值。
❿ 简单的一句SQL语句
SELECT [ProctID]
,[ProctName]
,[SupplierID]
,[CategoryID]
,[QuantityPerUnit]
,[UnitPrice]
,[UnitsInStock]
,[UnitsOnOrder]
,[ReorderLevel]
,[Discontinued]
FROM [Northwind].[dbo].[Procts]
标准库,几乎每个MS SQL上都可以执行
select *,dateadd(day,id%3,cast('2012-04-10' as datetime)) as date into 日历表 from 员工表