當前位置:首頁 » 編程語言 » javasql通配符
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javasql通配符

發布時間: 2023-01-06 00:47:42

① 在JAVA中的sql語言

Transact_SQL小手冊

*******************Transact_SQL********************

--語 句 功 能

--數據操作

SELECT --從資料庫表中檢索數據行和列

INSERT --向資料庫表添加新數據行

DELETE --從資料庫表中刪除數據行

UPDATE --更新資料庫表中的數據

--數據定義

CREATE TABLE --創建一個資料庫表

DROP TABLE --從資料庫中刪除表

ALTER TABLE --修改資料庫表結構

CREATE VIEW --創建一個視圖

DROP VIEW --從資料庫中刪除視圖

CREATE INDEX --為資料庫表創建一個索引

DROP INDEX --從資料庫中刪除索引

CREATE PROCEDURE --創建一個存儲過程

DROP PROCEDURE --從資料庫中刪除存儲過程

CREATE TRIGGER --創建一個觸發器

DROP TRIGGER --從資料庫中刪除觸發器

CREATE SCHEMA --向資料庫添加一個新模式

DROP SCHEMA --從資料庫中刪除一個模式

CREATE DOMAIN --創建一個數據值域

ALTER DOMAIN --改變域定義

DROP DOMAIN --從資料庫中刪除一個域

--數據控制

GRANT --授予用戶訪問許可權

DENY --拒絕用戶訪問

REVOKE --解除用戶訪問許可權

--事務控制

COMMIT --結束當前事務

ROLLBACK --中止當前事務

SET TRANSACTION --定義當前事務數據訪問特徵

--程序化SQL

DECLARE --為查詢設定游標

EXPLAN --為查詢描述數據訪問計劃

OPEN --檢索查詢結果打開一個游標

FETCH --檢索一行查詢結果

CLOSE --關閉游標

PREPARE --為動態執行准備SQL 語句

EXECUTE --動態地執行SQL 語句

DESCRIBE --描述准備好的查詢

---局部變數

declare @id char(10)

--set @id = '10010001'

select @id = '10010001'

---全局變數

---必須以開頭

--IF ELSE

declare @x int @y int @z int

select @x = 1 @y = 2 @z=3

if @x > @y

print 'x > y' --列印字元串'x > y'

else if @y > @z

print 'y > z'

else print 'z > y'

--CASE

use pangu

update employee

set e_wage =

case

when job_level = 』1』 then e_wage*1.08

when job_level = 』2』 then e_wage*1.07

when job_level = 』3』 then e_wage*1.06

else e_wage*1.05

end

--WHILE CONTINUE BREAK

declare @x int @y int @c int

select @x = 1 @y=1

while @x < 3

begin

print @x --列印變數x 的值

while @y < 3

begin

select @c = 100*@x + @y

print @c --列印變數c 的值

select @y = @y + 1

end

select @x = @x + 1

select @y = 1

end

--WAITFOR

--例 等待1 小時2 分零3 秒後才執行SELECT 語句

waitfor delay 』01:02:03』

select * from employee

--例 等到晚上11 點零8 分後才執行SELECT 語句

waitfor time 』23:08:00』

select * from employee

***SELECT***

select *(列名) from table_name(表名) where column_name operator value

ex:(宿主)

select * from stock_information where stockid = str(nid)

stockname = 'str_name'

stockname like '% find this %'

stockname like '[a-zA-Z]%' --------- ([]指定值的范圍)

stockname like '[^F-M]%' --------- (^排除指定范圍)

--------- 只能在使用like關鍵字的where子句中使用通配符)

or stockpath = 'stock_path'

or stocknumber < 1000

and stockindex = 24

not stocksex = 'man'

stocknumber between 20 and 100

stocknumber in(10,20,30)

order by stockid desc(asc) --------- 排序,desc-降序,asc-升序

order by 1,2 --------- by列號

stockname = (select stockname from stock_information where stockid = 4)

--------- 子查詢

--------- 除非能確保內層select只返回一個行的值,

--------- 否則應在外層where子句中用一個in限定符

select distinct column_name form table_name --------- distinct指定檢索獨有的列值,不重復

select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name

select stockname , "stocknumber" = count(*) from table_name group by stockname

--------- group by 將表按行分組,指定列中有相同的值

having count(*) = 2 --------- having選定指定的組

② java jdbc 插入數據時 數據中存在問號

轉移處理。insert into isso.hfcs
(name,xb,sf)
values
('測\?試1','1','摸金\?校尉');

就可以了

③ sql 模糊查找

SQL模糊查詢,使用like比較字,加上SQL里的通配符,請參考以下:
1、LIKE'Mc%'
將搜索以字母
Mc
開頭的所有字元串(如
McBadden)。
2、LIKE'%inger'
將搜索以字母
inger
結尾的所有字元串(如
Ringer、Stringer)。
3、LIKE'%en%'
將搜索在任何位置包含字母
en
的所有字元串(如
Bennet、Green、McBadden)。
4、LIKE'_heryl'
將搜索以字母
heryl
結尾的所有六個字母的名稱(如
Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n'
將搜索下列字元串:Carsen、Karsen、Carson

Karson(如
Carson)。
6、LIKE'[M-Z]inger'
將搜索以字元串
inger
結尾、以從
M

Z
的任何單個字母開頭的所有名稱(如
Ringer)。
7、LIKE'M[^c]%'
將搜索以字母
M
開頭,並且第二個字母不是
c
的所有名稱(如MacFeather)。
-------------------------------------------------
呵呵,要完整的例句啊。下面這句查詢字元串是我以前寫的,根據變數
zipcode_key
在郵政編碼表
zipcode
中查詢對應的數據,這句是判斷變數
zipcode_key
為非數字時的查詢語句,用
%
來匹配任意長度的字元串,從表中地址、市、省三列中查詢包含關鍵字的所有數據項,並按省、市、地址排序。這個例子比較簡單,只要你理解了方法就可以寫出更復雜的查詢語句。
sql
=
"select
*
from
zipcode
where
(address
like'%"
&
zipcode_key
&
"%')
or
(city
like'%"
&
zipcode_key
&
"%')
or
(province
like'%"
&
zipcode_key
&
"%')
order
by
province,city,address"