當前位置:首頁 » 編程語言 » sql用某個用戶進行查詢操作
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql用某個用戶進行查詢操作

發布時間: 2022-12-25 14:47:08

Ⅰ 用戶可以用sql語言對什麼進行查詢

一、SQL是Structured Quevy Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的資料庫均支持SQL。
二、SQL資料庫數據體系結構
SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為「基本表」(base table);存儲模式(內模式)稱為「存儲文件」(stored file);子模式(外模式)稱為「視圖」(view);元組稱為「行」(row);屬性稱為「列」(column)。名稱對稱如^00100009a^:
三、SQL語言的組成
在正式學習SQL語言之前,首先讓我們對SQL語言有一個基本認識,介紹一下SQL語言的組成:
1.一個SQL資料庫是表(Table)的集合,它由一個或多個SQL模式定義。
2.一個SQL表由行集構成,一行是列的序列(集合),每列與行對應一個數據項。
3.一個表或者是一個基本表或者是一個視圖。基本表是實際存儲在資料庫的表,而視圖是由若干基本表或其他視圖構成的表的定義。
4.一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應。
5.用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區別,都是關系(表格)。
6.SQL用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨立的用戶介面,供交互環境下的終端用戶使用。
四、對資料庫進行操作
SQL包括了所有對資料庫的操作,主要是由4個部分組成:
1.數據定義:這一部分又稱為「SQL DDL」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。
2.數據操縱:這一部分又稱為「SQL DML」,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。
3.數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。
4.嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。
下面我們將分別介紹:
(一)數據定義
SQL數據定義功能包括定義資料庫、基本表、索引和視圖。
首先,讓我們了解一下SQL所提供的基本數據類型:(如^00100009b^)
1.資料庫的建立與刪除
(1)建立資料庫:資料庫是一個包括了多個基本表的數據集,其語句格式為:
CREATE DATABASE <資料庫名> 〔其它參數〕
其中,<資料庫名>在系統中必須是唯一的,不能重復,不然將導致數據存取失誤。〔其它參數〕因具體資料庫實現系統不同而異。
例:要建立項目管理資料庫(xmmanage),其語句應為:
CREATE DATABASE xmmanage
(2) 資料庫的刪除:將資料庫及其全部內容從系統中刪除。
其語句格式為:DROP DATABASE <資料庫名>
例:刪除項目管理資料庫(xmmanage),其語句應為:
DROP DATABASE xmmanage
2.基本表的定義及變更
本身獨立存在的表稱為基本表,在SQL語言中一個關系唯一對應一個基本表。基本表的定義指建立基本關系模式,而變更則是指對資料庫中已存在的基本表進行刪除與修改。

Ⅱ 如何查詢一個用戶執行過的SQL語句

--關鍵字:cross apply & outer apply
SELECT TOP 1000
--創建時間
QS.creation_time,
--查詢語句
SUBSTRING(ST.text,(QS.statement_start_offset/2)+1,
((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1
) AS statement_text,
--執行文本
ST.text,
--執行計劃
QS.total_worker_time,
QS.last_worker_time,
QS.max_worker_time,
QS.min_worker_time
FROM
sys.dm_exec_query_stats QS
--關鍵字
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE
--根據時間搜索
QS.creation_time BETWEEN '2011-10-20 16:00:00' AND '2011-10-20 17:00:00'
--根據語句內容搜索
AND ST.text LIKE '%%'
ORDER BY
QS.creation_time DESC
Log Explorer 4.1.可用於SQL Server2005的日誌查看工具

使用方法:

打開Log Explorer -> Attach Log File -> 選擇SQL Server伺服器和登陸方式 -> Connect ->
在Database Name中選擇資料庫 -> Attach-> 左面對話框中Browse-> View Log-> 就可以看到log記錄了

想恢復的話: 右鍵Log記錄 Undo Transation-> 選擇保存文件名和路徑-> 然後打開該文件到查詢分析器里執行
T-sql代碼就可以了

例如 如果Log是delete table where ...的話,生成的文件代碼就是insert table ....
然後將此insert table的代碼放到查詢分析器里執行.就可以恢復數據.

----------------------------------------------------------------------
--如何恢復被delete/update的數據
----------------------------------------------------------------------
1連接到被刪除資料庫的Db
打開log explorer 選擇 "file"->"attach log file"->選擇伺服器和登陸方式->"connect"->選擇"資料庫"->"attach"
2 查看日誌
在左面操作項目的對話框中選擇"browse"項目->"view log"->就可以看到當前的Log記錄了
3 恢復數據
右鍵某一條log記錄,選擇"undo transation"->"選擇保存文件名和路徑"->然後打開該文件到查詢分析器里執行
T-sql代碼就可以了
例如: 如果log是delete table where ...的話,生成的文件代碼就是insert table ....

----------------------------------------------------------------------
--Log Explorer恢復被drop table和truncate table後的數據
----------------------------------------------------------------------
1 連接到被刪除資料庫的Db
操作同上
2 恢復方法
1) 選擇"salvaage dropped/truncate"菜單,在右邊的對話框中選擇表名,和droped/trucated的日期,
File Name中選擇生成insert語句腳步的存放位置,condition選擇是droped還是truncated,
最後點擊"create" 就會生成insert語句,把生成的語句到查詢分析器裡面執行一下就可以了
2) 選擇"ViewDDL Commands"菜單->選"truncate table" 操作項->點擊"Salvage"->生成語句->查詢分析器里執行

----------------------------------------------------------------------
--log explorer使用的幾個問題
----------------------------------------------------------------------
1) 對資料庫做完全/差異/日誌備份
備份時如果選用了刪除事務日誌中不活動的條目
再用Log explorer打試圖看日誌時,提示No log recorders found that match the filter,would you like to view unfiltered data 選擇yes 就看不到剛才的記錄了

如果不選用了刪除事務日誌中不活動的條目
再用Log explorer打試圖看日誌時,就能看到原來的日誌並做恢復
2) 修改了其中一個表中的部分數據,此時用Log explorer看日誌,可以作日誌恢復
3) 然後恢復備份,(注意:恢復是斷開log explorer與資料庫的連接,或連接到其他數據上,
否則會出現資料庫正在使用無法恢復)
恢復完後,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,選擇yes 就看不到剛才在2中修改的日誌記錄,所以無法做恢復.
4) 不要用SQL的備份功能備份,搞不好你的日誌就破壞了.

正確的備份方法是:
停止SQL服務,復制數據文件及日誌文件進行文件備份.

然後啟動SQL服務,用log explorer恢復數據

Ⅲ 在Oracle資料庫中如何用sql查詢某一個用戶名下的某張表裡面的數據,select * from 表名 用戶名 where id=1

  1. select * from 用戶名.表名 where id=1

  2. 當然如果查詢的是你所在的用戶下的表就可以省略用戶名,如果要查詢的不是你所在用戶下的表,首先要確認你有該用戶下查詢該表的許可權,如果沒有,請向管理員聯系了。

Ⅳ 用SQL語句查詢當前用戶的所有許可權

1、創建測試表,

createtabletest_user(user_idnumber,role_idnumber);

createtabletest_role(role_idnumber,role_namevarchar2(20),right_idnumber);

createtabletest_right(right_idnumber,right_namevarchar2(20));

2、插入測試數據

insertintotest_uservalues(1,1001);

insertintotest_uservalues(2,1001);

insertintotest_uservalues(3,1002);

insertintotest_uservalues(4,1002);

insertintotest_rolevalues(1001,'管理員',2001);

insertintotest_rolevalues(1001,'管理員',2002);

insertintotest_rolevalues(1002,'普通人員',2001);

insertintotest_rightvalues(2001,'查看');

insertintotest_rightvalues(2002,'修改');

3、查詢三張表的總記錄數,

select'USER'v,count(*)

fromtest_usert

unionall

select'ROLE'v,count(*)

fromtest_rolet

unionall

select'RIGHT'v,count(*)

fromtest_rightt

4、編寫sql,查詢用戶的角色、許可權id、許可權名稱,

selectt.user_id,t.role_id,b.right_id,c.right_name

fromtest_usert,test_roleb,test_rightc

wheret.role_id=b.role_id

andb.right_id=c.right_id,

Ⅳ 指定一個用戶來查詢一個欄位如何寫sql語句

select欄位fromtablewhereusername="zhangsan"

Ⅵ 如何根據sql資料庫表中數據進行查詢

sql server 查詢一個表的所有信息:查詢語法為:select * from 表名 語法中的」*「代表所有。
實際操作舉例:某數據中有一表叫」user_user「,表中存儲了一些用戶信息;
1、查詢」user_user「表中所有人員信息且所有欄位,sql語句:select * from user_user

2、查詢」user_use「表中所有人員信息且部分欄位。sql語句:select user_show_id,user_name,pinyin,password from user_user

3、條件查詢」user_user「表,以user_name為查詢條件查詢所有信息。sql語句:select * from user_user where user_name='李丹'

4、模糊查詢」user_user「表,以user_name為模糊查詢條件查詢所有信息。sql語句:select * from user_user where user_name like '%張%'