㈠ sql增刪改查的基本代碼
adoquery1.Fielddefs[1].Name; 欄位名
dbgrid1.columns[0].width:=10; dbgrid的欄位寬度
adoquery1.Fields[i].DataType=ftString 欄位類型
update jb_spzl set kp_item_name=upper(kp_item_name) 修改資料庫表中某一列為大寫
select * from master.dbo.sysobjects ,jm_barcode.dbo.users 多庫查詢
adotable1.sort:='欄位名稱 ASC' adotable排序
SQL常用語句一覽
sp_password null,'新密碼','sa' 修改資料庫密碼
(1)數據記錄篩選:
sql="select * from 數據表 where 欄位名=欄位值 orderby 欄位名 [desc] "
sql="select * from 數據表 where 欄位名 like '%欄位值%' orderby 欄位名 [desc]"
sql="select top10 * from 數據表 where 欄位名 orderby 欄位名[desc]"
sql="select * from 數據表 where 欄位名 in('值1','值2','值3')"
sql="select * from 數據表 where 欄位名 between 值1 and 值 2"
(2)更新數據記錄:
sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2……欄位n=值n where 條件表達式"
(3)刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表 "(將數據表所有記錄刪除)
(4)添加數據記錄:
sql="insert into 數據表(欄位1,欄位2,欄位3…) values(值1,值2,值3…)"
sql="insert into 目標數據表 select * from 源數據表"(把源數據表的記錄添加到目標數據表)
(5)數據記錄統計函數:
AVG(欄位名)得出一個表格欄平均值
COUNT(*|欄位名)對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名)取得一個表格欄最大的值
MIN(欄位名)取得一個表格欄最小的值
SUM(欄位名)把數據欄的值相加
引用以上函數的方法:
sql="selectsum(欄位名)as別名from數據表where條件表達式"
setrs=conn.excute(sql)
用rs("別名")獲取統的計值,其它函數運用同上。
(5)數據表的建立和刪除:
CREATETABLE數據表名稱(欄位1類型1(長度),欄位2類型2(長度)……)
例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ())
DROPTABLE數據表名稱(永久性刪除一個數據表)
4.記錄集對象的方法:
rs.movenext將記錄指針從當前的位置向下移一行
rs.moveprevious將記錄指針從當前的位置向上移一行
rs.movefirst將記錄指針移到數據表第一行
rs.movelast將記錄指針移到數據表最後一行
rs.absoluteposition=N將記錄指針移到數據表第N行
rs.absolutepage=N將記錄指針移到第N頁的第一行
rs.pagesize=N設置每頁為N條記錄
rs.pagecount根據pagesize的設置返回總頁數
rs.recordcount返回記錄總數
rs.bof返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete刪除當前記錄,但記錄指針不會向下移動
rs.addnew添加記錄到數據表末端
rs.update更新數據表記錄
SQL語句的添加、刪除、修改雖然有如下很多種方法,但在使用過程中還是不夠用,不知是否有高手把更多靈活的使用方法貢獻出來?
添加、刪除、修改使用db.Execute(Sql)命令執行操作
╔----------------╗
☆ 數據記錄篩選 ☆
╚----------------╝
注意:單雙引號的用法可能有誤(沒有測式)
Sql = "Select Distinct 欄位名 From 數據表"
Distinct函數,查詢資料庫存表內不重復的記錄
Sql = "Select Count(*) From 數據表 where 欄位名1>#18:0:0# and 欄位名1< #19:00# "
count函數,查詢數庫表內有多少條記錄,「欄位名1」是指同一欄位
例:
set rs=conn.execute("select count(id) as idnum from news")
response.write rs("idnum")
sql="select * from 數據表 where 欄位名 between 值1 and 值2"
Sql="select * from 數據表 where 欄位名 between #2003-8-10# and #2003-8-12#"
在日期類數值為2003-8-10 19:55:08 的欄位里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
欄位裡面的數據格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀錄,而不管是幾點幾分。
Sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]"
Sql="select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"
模糊查詢
Sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]"
查找資料庫中前10記錄
Sql="select top n * form 數據表 order by newid()"
隨機取出資料庫中的若干條記錄的方法
top n,n就是要取出的記錄數
Sql="select * from 數據表 where 欄位名 in ('值1','值2','值3')"
╔----------------╗
☆ 添加數據記錄 ☆
╚----------------╝
sql="insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)"
sql="insert into 數據表 valuess (值1,值2,值3 …)"
不指定具體欄位名表示將按照數據表中欄位的順序,依次添加
sql="insert into 目標數據表 select * from 源數據表"
把源數據表的記錄添加到目標數據表
╔----------------╗
☆ 更新數據記錄 ☆
╚----------------╝
Sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
Sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"
Sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n "
沒有條件則更新整個數據表中的指定欄位值
╔----------------╗
☆ 刪除數據記錄 ☆
╚----------------╝
Sql="delete from 數據表 where 條件表達式"
Sql="delete from 數據表"
沒有條件將刪除數據表中所有記錄)
╔--------------------╗
☆ 數據記錄統計函數 ☆
╚--------------------╝
AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加
引用以上函數的方法:
sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式"
set rs=conn.excute(sql)
用 rs("別名") 獲取統的計值,其它函數運用同上。
╔----------------------╗
☆ 數據表的建立和刪除 ☆
╚----------------------╝
CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 數據表名稱 (永久性刪除一個數據表)
╔--------------------╗
☆ 記錄集對象的方法 ☆
╚--------------------╝
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄
rs.pagecount 根據 pagesize 的設置返回總頁數
rs.recordcount 返回記錄總數
rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete 刪除當前記錄,但記錄指針不會向下移動
rs.addnew 添加記錄到數據表末端
rs.update 更新數據表記錄
%:代表任意長的一段字元 _ :代表一個字元 [a,b,c,d]:a、b、c、d中的任意一個 [^a,b,c,d]:不在a、b、c、d中的任意一個
㈡ 用sql命令查詢數據
select * frm spec
㈢ 用sql查詢股票代碼個數
1.sele 股票代碼,買入價,現價,持有數量 from 股票數量 into table 股票數量_bk
2.insert into 股票數量_bk values("60034",5.59,5.81,4500")&&&看你數據類型,數值型的不加引號,不然加引號
㈣ sql server 中如何查看自定義函數的源代碼
可按如下方法查詢,以sqlserver2008為例:
1、登錄SQL
Server
Management
Studio。
2、展開左邊的樹,先在資料庫中找到自己創建自定義函數的庫,如資料庫-系統資料庫-master。
3、依次點擊可編程性-函數-標量值函數,如曾經創建過一個叫「fn_myget」的自定義函數,就能看見。
4、右鍵此函數,點擊編輯,就能看到這個函數的源代碼。
5、代碼如圖,紅框部分即為源代碼。
㈤ SQL中查詢所有資料庫命的代碼怎麼寫 select * sysdatabases from__貌
select name from sysobjects where xtype='U' and name<>'dtproperties'
㈥ sql server 中如何查看自定義函數的源代碼
如果函數沒有被加密的話(未使用with encrypt子句),用語句sp_helptext 函數名查看源碼。
如果被加密了,也需要通過第三方工具來解密查看。
使用資料庫引擎創建用於聯機事務處理或聯機分析處理數據的關系資料庫。這包括創建用於存儲數據的表和用於查看、管理和保護數據安全的資料庫對象(如索引、視圖和存儲過程)。可以使用 SQL Server Management Studio 管理資料庫對象,使用 SQL Server Profiler 捕獲伺服器事件。
(6)sql查詢所有代碼擴展閱讀
新特性
T-SQL 天生就是基於集合的關系型資料庫管理系統編程語言,可以提供高性能的數據訪問。它與許多新的特性相結合,包括通過同時使用TRY和CTACH來進行錯誤處理,可以在語句中返回一個結果集的通用表表達式,以及通過PIVOT 和UNPIVOT命令將列轉化為行和將列轉化為行的能力。
SQL Server 2005中的第二個主要的增強特性就是整合了符合.NET規范的語言 ,例如C#, 或者是可以構建對象(存儲過程,觸發器,函數等)的VB.NET。
㈦ sql 語句 查詢的 代碼
有段時間沒寫了,希望對你有所幫助,
Select d.departmentname, a.max(ssalary), a.min(ssalary),a.name
from departments d
(select e.departmentID, s.(income - outcome)ssalary,e.name
from salary s
employees e
where s.employeeid = e.employeeid
group by e.departmentid,e.name)a
where d.departmentname = a.departmentname
group by d.departmentname.
語法上估計會有錯,不過大體思路就是這樣的
㈧ sql多表查詢,希望能寫出每步查詢的代碼。謝謝!
最後兩個寫著麻煩。等我驗證好了,再通知你
-- 1、劉病人的病房
select a.PATIENT_NAME,b.ADDRESS
from PATIENT_INFORMATION a inner join WARD b on a.WARD_id=b.WARD_ID
where a.PATIENT_NAME='劉病人'
-- 2、查詢所有病房的入住情況
-- 所有病房的入住情況,這個你提的需求不明白,有這兩種情況
-- a、簡單的查詢,每個病房一共入住了多少人
select a.WARD_ID,b.ADDRESS,count(a.PATIENT_ID) as [人數]
from PATIENT_INFORMATION a inner join WARD b on a.WARD_ID=b.WARD_ID
group by a.WARD_ID,b.ADDRESS
-- b、查詢每個病房的入住病人,包括病人的入住時間,離開時間和管理護士
select b.ADDRESS,a.PATIENT_NAME,a.FALL_ILL_TIME,a.LEAVE_HOSPITION_TIME,c.NURSE_NAME
from PATIENT_INFORMATION a inner join WARD b on a.WARD_ID=b.WARD_ID
inner join NURSEOR c on b.NURSE_ID=c.NURSe_ID
-- 3、統計病人就診最多的醫生
select * from DOCTOR
where DOCTOR_ID in
(
select t.DOCTOR_ID from
(
select DOCTOR_ID,COUNT(DOCTOR_ID) co from PATIENT_INFORMATION group by DOCTOR_ID
) t
where co=
(
select max(tt.co) from
(
select DOCTOR_ID,COUNT(DOCTOR_ID) co from PATIENT_INFORMATION group by DOCTOR_ID
) tt
)
)
-- 4、查詢張醫生的病人有哪些
select * from PATIENT_INFORMATION
where DOCTOR_ID=
(
select DOCTOR_ID from DOCTOR where DOCTOR_NAME='張醫生'
)
-- 5、查詢所有護士管理病人的數量
select a.nurse_id,a.nurse_name,COUNT(c.patient_id)
from nurseor a inner join ward b on a.nurse_id=b.nurse_id
left join patient_information c on b.ward_id=c.ward_id
group by a.nurse_id,a.nurse_name,c.ward_id
-- 6、查詢陳病人的詳細就診信息
select a.patient_id,a.patient_name,a.fall_ill_time,a.leave_hospition_time,b.doctor_name,b.section_office
,c.drug_id,d.saddress,e.nurse_name
from patient_information a inner join doctor b on a.doctor_id=b.doctor_id
inner join prescription c on c.prescription_id=a.prescription_id
inner join ward d on a.ward_id=d.ward_id
inner join nurseor e on d.nurse_id=e.nurse_id
㈨ sql一對多的查詢代碼怎麼查
代碼如下:
SELECT a.trumbnail, b.url, c.url
FROM Goods a, Picture b, Picture c
WHERE a.picture=b.id AND a.picture=c.id
㈩ SQL資料庫,創建表的所有代碼,查詢表,增刪改,越詳細越好,最好有注釋
舉例:學生成績資料庫
1.創建一個資料庫:
CREATE DATABASE XSCJ
ON
(NAME='XSCJ_DATA',
FILENAME='D:\Program Files\Microsoft SQL Server\MSSQL\Data\XSCJ_DATA.MDF',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=10%
)
LOG ON
(NAME='XSCJ_LOG',
FILENAME='D:\Program Files\Microsoft SQL Server\MSSQL\Data\XSCJ_LOG.LOG',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB
)
GO
2.創建學生信息表:
CREATE TABLE XS
(學號 CHAR(6) PRIMARY KEY,
姓名 CHAR(6) NOT NULL,
專業名 CHAR(10) NULL,
性別 BIT NOT NULL,
出生時間 DATETIME NOT NULL,
總學分 TINYINT NOT NULL,
備注 TEXT NULL
)
GO
3.向XS表中插入數據:
INSERT INTO XS
VALUES('001106','李方方','計算機',1,'1980-11-20',50,NULL)
GO
INSERT INTO XS
VALUES('001107','李明','計算機',1,'1980-05-01',54,'提前修完《數據結構》,並獲得學分')
GO
INSERT INTO XS
VALUES('001108','林一帆','計算機',1,'1979-08-05',52,'已提前修完1門課')
GO
4.查詢XS表:
SELECT *
FROM XS
5.修改學號為001106同學的專業:
UPDATE XS
SET 專業名='通信工程'
WHERE 學號='001106'
GO
6.刪除李方方同學的信息:
DELETE FROM XS
WHERE 姓名='李方方'
GO