单表查询

一、MySQL权限系统通过两个阶段进行认证:

--step 1 : 修改数据库名称
USE master
GO
ALTER DATABASE GeovinDuCms SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
EXEC master..sp_renamedb 'GeovinDuCms','DuCms'
GO
ALTER DATABASE DB_SHANGHAI SET MULTI_USER 
GO

--step 2 : 查看修改名称后的数据库逻辑名及物理文件名
USE master
GO
SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DuCms')
GO

--step 3 : 修改数据库逻辑文件名称
USE master
GO
ALTER DATABASE DuCms SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DuCms MODIFY FILE (NAME=N'GeovinDuCms', NEWNAME=N'DuCms')
GO
ALTER DATABASE DuCms MODIFY FILE (NAME=N'GeovinDuCms_log', NEWNAME=N'DuCms_log')
GO
ALTER DATABASE DuCms SET MULTI_USER 
GO


--step 4 : 修改数据库物理文件名称之前先打开xp_cmdshell支持
USE master
GO
sp_configure 'show advanced options',1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE WITH OVERRIDE
GO

--step 5 : 重命名数据库物理文件名称

USE [master]
GO
ALTER DATABASE DuCMS SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
EXEC xp_cmdshell 'RENAME "E:\2005database\GeovinDuCms.mdf", "DuCms.mdf"'
GO
EXEC xp_cmdshell 'RENAME "E:\2005database\GeovinDuCms_log.ldf", "DuCms_log.ldf"'
GO

--step 6 : 将数据库逻辑名称指向新的物理文件,并将数据库online
USE [master]
GO
ALTER DATABASE DuCMS MODIFY FILE (NAME =DuCms, FILENAME = 'E:\2005database\DuCms.mdf')
GO
ALTER DATABASE DuCMS MODIFY FILE (NAME =DuCms_log, FILENAME = 'E:\2005database\DuCms_log.ldf')
GO
ALTER DATABASE DuCMS SET ONLINE

--step 7 : 查看全部修改完成后的数据库情况
USE master
GO
SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DuCMS')
GO

--step 8 : 关闭xp_cmdshell支持
USE master
GO
sp_configure 'xp_cmdshell', 0
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'show advanced options',0
GO
RECONFIGURE WITH OVERRIDE
GO

USE DuCMS
GO

1、查询所有:

select * from 表名;

  (A) 对用户进行身份认证,IP地址和用户名联合,

  

2、查询选中字段数据:

select 字段名 from 表名;

  (B) 对合法用户赋予相应权限,权限表在数据库启动的时候载入内存中。

3、查询指定条件下的数据:

select 字段名 from 表名 where 条件(例id>3);

二、在权限的存取过程中,会用到”mysql“数据库中的user、host和db这3个权限表。两阶段验证过程

4、查询后为字段取别名 as:

select 原名 as 更改名 from 表名;

  (A) user表中 host、user和password判断是否可连接。

5、模糊查询 like:

select *from 表名 where 字段名 like
该字段里的其中一个字符(例‘小%’,则查询出该字段里所有以小字开头的数据,‘%百分号代表后面多个’,‘_下划线代表一个’)

  (B) 权限表顺序 user->db->tables_priv->columns_priv。

6、排序 order by:

select * from 表名 order by 字段名;(默认升序:asc)

select * from 表名 order by 字段名 desc;(降序:desc)

  user表中的每个权限都代表了对所有数据库都有的权限,db表中的每个权限都代表了对特定数据库才有的权限。

7、限制显示数据的数量 limit :

select * from 表名 order by 字段名 limit 2;#
以字段名的升序取两条数据,2为限制两条数据

select * from 表名 order by 字段名 limit 2,2;

 

三、账号管理

发表评论

电子邮件地址不会被公开。 必填项已用*标注