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

sql可以用戶查詢嗎

發布時間: 2022-06-26 16:49:57

『壹』 sql查詢--查詢用戶每個用戶的最後一次登錄記錄

1、創建測試表,

create table test_log(user_id number, v_date date);

『貳』 在SQL中用戶可以直接進行查詢的操作是

select 查詢 例 select * from 表名
update 修改
delete 刪除

『叄』 用戶可以用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資料庫如何查看資料庫的用戶

select * from tableName;

tableName是資料庫中注冊用戶表。

查詢具體的欄位:

SELECT column_name,column_name FROM tableName;

例子:

獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的資料庫表):

SELECT LastName,FirstName FROM Persons;

(4)sql可以用戶查詢嗎擴展閱讀:

獲取資料庫所有表的欄位及其欄位

select table_name,column_name,column_comment,column_type,column_key from information_schema.Columns

where table_schema='資料庫'

獲取資料庫某個表的欄位及其欄位

select table_name,column_name,column_comment,column_type,column_key from information_schema.Columns

where table_name='表名' and table_schema='資料庫'

『伍』 sql server 怎麼查看用戶

SQL Server中查詢用戶的對象許可權和角色的方法

-- 查詢用戶的object許可權
exec sp_helprotect NULL, 'UserName'
-- 查詢用戶擁有的role
exec sp_helpuser 'UserName'
-- 查詢哪些用戶擁有指定的系統role
exec sp_helpsrvrolemember 'sysadmin'
-- 可查詢嵌套role
WITH tree_roles as
(
SELECT role_principal_id, member_principal_id
FROM sys.database_role_members
WHERE member_principal_id = USER_ID('UserName')
UNION ALL
SELECT c.role_principal_id,c.member_principal_id
FROM sys.database_role_members as c
inner join tree_roles
on tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinct USER_NAME(role_principal_id) RoleName
FROM tree_roles

-- 其他許可權相關基本表
select * from sysusers
select * from syspermissions

-- Who has access to my SQL Server instance?
SELECT
name as UserName, type_desc as UserType, is_disabled as IsDisabled
FROM sys.server_principals
where type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')
order by UserType, name, IsDisabled

-- Who has access to my Databases?
SELECT
dp.name as UserName, dp.type_desc as UserType, sp.name as LoginName, sp.type_desc as LoginType
FROM sys.database_principals dp
JOIN sys.server_principals sp ON dp.principal_id = sp.principal_id
order by UserType

select * from sys.database_principals

-- Server Roles
select
p.name as UserName, p.type_desc as UserType, pp.name as ServerRoleName, pp.type_desc as ServerRoleType
from sys.server_role_members roles
join sys.server_principals p on roles.member_principal_id = p.principal_id
join sys.server_principals pp on roles.role_principal_id = pp.principal_id
where pp.name in('sysadmin')
order by ServerRoleName, UserName

-- Database Roles
SELECT
p.name as UserName, p.type_desc as UserType, pp.name as DBRoleName, pp.type_desc as DBRoleType, pp.is_fixed_role as IfFixedRole
FROM sys.database_role_members roles
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
where pp.name in('db_owner', 'db_datawriter')

-- What can these users do?
SELECT
grantor.name as GrantorName, dp.state_desc as StateDesc, dp.class_desc as ClassDesc, dp.permission_name as PermissionName ,
OBJECT_NAME(major_id) as ObjectName, GranteeName = grantee.name
FROM sys.database_permissions dp
JOIN sys.database_principals grantee on dp.grantee_principal_id = grantee.principal_id
JOIN sys.database_principals grantor on dp.grantor_principal_id = grantor.principal_id
where permission_name like '%UPDATE%'

『陸』 查詢用戶sql語句

select*
fromtest
whereu='a'
union
selectt2.*
fromtestt1leftjointestt2ont1.id=t2.pid
leftjoin(select*
fromtest
whereu='a')t3ont2.pid>=t3.id
whereisnull(t2.u,'')<>''
andisnull(t3.u,'')<>''

用戶:u;ParentId:pid

『柒』 sql 2000 如何查詢用戶許可權

用戶許可權是保存在master表中的,可以使用系統存儲過程查詢用戶許可權,
通常你需要有master表的許可權(如:sa),例:

sp_helpuser
報告有關當前資料庫中 Microsoft® SQL Server™ 用戶、Microsoft Windows NT® 用戶和資料庫角色的信息。

語法
sp_helpuser [ [ @name_in_db = ] 'security_account' ]

參數
[@name_in_db =] 'security_account'

當前資料庫中 SQL Server 用戶、Windows NT 用戶或資料庫角色的名稱。security_account 必須存在於當前的資料庫中。security_account 的數據類型為 sysname,默認值為 NULL。如果沒有指定 security_account,系統過程將報告當前資料庫中的所有用戶、Windows NT 用戶以及角色的信息。當指定 Windows NT 用戶時,請指定該 Windows NT 用戶在資料庫中可被識別的名稱(用 sp_grantdbaccess 添加)。

返回代碼值
0(成功)或 1(失敗)

注釋
使用 sp_helpsrvrole 及 sp_helpsrvrolemember 返回固定伺服器角色的信息。

為資料庫角色執行 sp_helpuser 等價於為該資料庫角色執行 sp_helpgroup。

許可權
執行許可權默認授予 public 角色。

示例
A. 列出所有用戶
下面的示例列出當前資料庫中所有的用戶。

EXEC sp_helpuser

B. 列出單個用戶的信息
下面的示例列出用戶 dbo 的信息。

EXEC sp_helpuser 'dbo'

C. 列出某個資料庫角色的信息
下面的示例列出 db_securityadmin 固定資料庫角色的信息。

EXEC sp_helpuser 'db_securityadmin'

『捌』 如何用sql語句查詢一個用戶,看看他具有哪些許可權

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

1.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;

2.查看用戶或角色系統許可權(直接賦值給用戶或角色的系統許可權):
select * from dba_sys_privs;
select * from user_sys_privs;

3.查看角色(只能查看登陸用戶擁有的角色)所包含的許可權
sql>select * from role_sys_privs;

4.查看用戶對象許可權:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

5.查看所有角色:
select * from dba_roles;

6.查看用戶或角色所擁有的角色:
select * from dba_role_privs;
select * from user_role_privs;

7.查看哪些用戶有sysdba或sysoper系統許可權(查詢時需要相應許可權)
select * from V$PWFILE_USERS

比如我要查看用戶 wzsb的擁有的許可權:

SQL> select * from dba_sys_privs where grantee='WZSB';

GRANTEE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
WZSB CREATE TRIGGER NO
WZSB UNLIMITED TABLESPACE NO

比如我要查看用戶 wzsb的擁有的角色:

SQL> select * from dba_role_privs where grantee='WZSB';

GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
WZSB DBA NO YES

查看一個用戶所有的許可權及角色
select privilege from dba_sys_privs where grantee='WZSB'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee='WZSB' );

『玖』 怎麼用sql語句查詢

-- 查詢你 當前用戶下,有哪些表
SELECT * FROM user_tables

-- 查詢你 當前用戶下, 可以訪問哪些表 [也就是訪問自己 和 其他用戶的]
SELECT * FROM all_tables

-- 查詢當前資料庫所有的表, 需要你有 DBA 的許可權
SELECT * FROM dba_tables

『拾』 sql 2000如何查詢用戶許可權

用戶許可權是保存在master表中的,
可以使用系統存儲過程查詢用戶許可權,
通常你需要有master表的許可權(如:sa),例:
sp_helpuser
報告有關當前資料庫中 Microsoft�0�3 SQL Server�6�4 用戶、Microsoft Windows NT�0�3 用戶和資料庫角色的信息。
語法sp_helpuser [ [ @name_in_db = ] 'security_account' ]參數[@name_in_db =] 'security_account'
當前資料庫中 SQL Server 用戶、Windows NT 用戶或資料庫角色的名稱。security_account 必須存在於當前的資料庫中。security_account 的數據類型為 sysname,默認值為 NULL。如果沒有指定 security_account,
系統過程將報告當前資料庫中的所有用戶、Windows NT 用戶以及角色的信息。當指定 Windows NT 用戶時,請指定該 Windows NT 用戶在資料庫中可被識別的名稱(用 sp_grantdbaccess 添加)。
返回代碼值0(成功)或 1(失敗)注釋使用 sp_helpsrvrole 及 sp_helpsrvrolemember 返回固定伺服器角色的信息。
為資料庫角色執行 sp_helpuser 等價於為該資料庫角色執行 sp_helpgroup。
許可權執行許可權默認授予 public 角色。
示例
A. 列出所有用戶
下面的示例列出當前資料庫中所有的用戶。
EXEC sp_helpuser
B. 列出單個用戶的信息
下面的示例列出用戶 dbo 的信息。
EXEC sp_helpuser 'dbo'
C. 列出某個資料庫角色的信息