簡單的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 員工表