① 按要求寫sql,1 建庫-用自己的名字命名(拼音)註:名字隨便編
1.create database KS
2.create table T001(ID int,KCMC varchar(50),KSSJ datetime,KSCJ int)
3.insert into T001 values(001,'語文')
4.update T001 set KCMC = '數學' where KCMC='語文'
5.delete T001 where KCMC like '%?%' or KCMC like '*%'
6.delete T001
7.drop table T001
② sql約束名,應該怎麼取,有什麼特殊規定嘛
沒有,只是個名字,不重復就可以,一般就用:P_表名,
③ 多條sql語句一起執行,查詢結果中每個表的表名怎麼自己命名
就像臨時表一樣 用括弧括起來,命個名字,再查詢
④ SQL在設置約束和索引時,有時會取個名字,請問這個名字是幹嘛用的怎麼使用它存在哪裡了
給約束取名字, 目的是將來你可以比較容易的刪除掉.
否則你要自己去查詢數據字典表.
例如下面的例子.
唯一約束的名字, 是 t_123, 那麼當我不需要這個約束的時候
如果我知道名字, 那麼可以直接去刪除掉.
--創建測試表.
CREATETABLEtest_123(
idINT,
valueVARCHAR(10)
);
GO
--創建UNIQUE約束.
ALTERTABLEtest_123
ADDCONSTRAINTt_123UNIQUE(value);
GO
--刪除UNIQUE約束.
ALTERTABLE[test_123]
DROPCONSTRAINT[t_123];
GO
如果我不指定約束名稱, 例如:
1>ALTERTABLEtest_sub
2>ADDUNIQUE(value)
3>go
那麼這種情況下, 如果我要刪除這個約束, 就需要去查詢數據字典表。
由於各個資料庫廠商的數據字典表各有不同, 下面簡單列一些常用的資料庫。
Oracle 參考 USER_CONSTRAINTS 視圖
SQL Server
對於 唯一約束, 參考 sys.indexes 視圖裡面的 is_unique_constraint = 1 的數據
對於外鍵約束,參考 sys.foreign_keys 視圖裡面的數據
對於 Check約束, 參考sys.check_constraints 視圖裡面的數據
對於 MySQL
可以參考 INFORMATION_SCHEMA.TABLE_CONSTRAINTS 裡面的數據。
⑤ SQL 可以給聯結之後的表格取名么
你好,視圖就是為解決這樣的問題,
比如createviewviewName
as
selectidfromtablewhere.....
創建好後,會存資料庫,用的時候:
select*fromtablewhereid
in(viewName)
視圖有優點也有缺點,實際用的時候需注意,附引用:
一,視圖著重於特定數據。
視圖可以讓用戶或者程序開發人員只看到他們所需要的數據,而不需要把表中的所有信息與欄位暴露出來,這樣增強了數據的安全性。
二,簡化數據的操作,易維護。
我們可以將經常用到的多表聯合查詢出來的數據,或特定的結果集定義為視圖,這樣就起到了模塊化數據的作用。我們在使用這些數據時直接查詢該視圖就可以,而不用到處寫長長的SQL語句,這樣也起到易維護的作用。
三,視圖可以限定查詢數據。
比如:對於不同的用戶,我們只提供部分數據給他。這樣,我們就可以在視圖中限定結果集,然後返回該視圖給他。這樣,無論用戶怎麼對視圖定義查詢條件,他也不能查詢出我們不想提供給他的數據。雖然視圖可以給我們帶來種種便利,但不意味著我們就可以濫用它。因為視圖其實就是一段SQL語句,所以它的結果都是每次調用時動態生成的。如果不合理的定義視圖,必然帶來性能上的損耗。
下面是我們在創建視圖應該要注意的幾點:
一,操作視圖會比直接操作基礎表要慢,所以我們盡量避免在大型表上創建視圖。
二,盡量不要創建嵌套視圖,就是在視圖中使用視圖。這樣在查詢時,會多次重復訪問基礎表,帶來性能損耗。
三,盡量在視圖只返回所需的信息,盡量不要在視圖使用不需要訪問的表。
四,在大型表或者復雜定義的視圖,可以使用存儲過程代替。
五,頻繁使用的視圖,可以使用索引視圖來代替。
⑥ 如何用SQL語句實現查詢名字
可以用SQL的模糊查詢。語句如下
select * from 表名 where 欄位 like '%關鍵字%'
其中 % 為通配符。
條件的意思就是查找欄位裡面帶「關鍵字」的數據。
⑦ SQL表內起不了中文名字 我的版本SQL2000企業版 個人版的也不行 顯示的都是問號 附圖
這個應該和資料庫無關吧,你可以看看企業管理器里屬性下有個資料庫設置里有個語言的設置,不過這里默認都應該是中文的。
上面無誤的話,你開開SQL Server自帶的「事件探查器」,然後新建一個中文名字,到這里來查看提交的SQL語句里是不是本來就是亂碼。
⑧ SQL 獲取名字拼音
做兩個函數。一個取漢字拼音首字母,一個取完整拼音
下面代碼是晚上搜到的:
--取漢字首字母函數
create function f_GetPy(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @strlen int,@re nvarchar(4000)
declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1))
insert into @t(chr,letter)
select '吖','A' union all select '八','B' union all
select '嚓','C' union all select '咑','D' union all
select '妸','E' union all select '發','F' union all
select '旮','G' union all select '鉿','H' union all
select '丌','J' union all select '咔','K' union all
select '垃','L' union all select '嘸','M' union all
select '拏','N' union all select '噢','O' union all
select '妑','P' union all select '七','Q' union all
select '呥','R' union all select '仨','S' union all
select '他','T' union all select '屲','W' union all
select '夕','X' union all select '丫','Y' union all
select '帀','Z'
select @strlen=len(@str),@re=''
while @strlen>0
begin
select top 1 @re=letter+@re,@strlen=@strlen-1
from @t a where chr<=substring(@str,@strlen,1)
order by chr desc
if @@rowcount=0
select @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1
end
return(@re)
end
go
--使用
select id,name,dbo.f_GetPy(name) from mytable
取完整拼音的跟上述f_GetPy函數類似,只是臨時表要多寫很多行,拼音有多少種組合就寫多少行,大概六七百行吧。你自己找找相關的其他語言轉拼音全碼的代碼,實現方式是相通的。