从校园中走出来已经两年多了,从最初的企业建站到现在的BPM流程开发,深深的感觉到自己底子很差,因此在园子里记录一下学过的知识,以此自勉。

废话到此结束,今天就先来看一下CREATE CHEMA 语句。

尽管大多数数据库操作是基于表结构进行的,但是数据库并不仅仅是数据表的集合。一个完整的数据库除了包含表以外,还要包括存储过程、自定义函数以及游标,这些都是用户创建的,此外还有索引和其他的一些方法,而这些方法是用户不能直接使用的。

SQL标准将数据库用户划分为普通用户(USER)和管理员用户(ADMIN),模式对象的创建、修改、删除操作需要管理员权限,而普通用户则能够调用及查看模式对象。(权限)。

概括起来讲,表、视图以及与其相关联的权限便是模式。

--模式

通过create chema语句可以一次性的创建一个完整的数据库模式,数据库模式必须包含名称和默认的字符集。

(在当前数据库中创建架构。CREATE SCHEMA 事务还可以在新架构内创建表和视图,并可对这些对象设置 GRANT、DENY 或 REVOKE 权限。)(MSDN)

例子:(SQLSERVER中)

USE xtt_cms --在xtt_cms中创建
GO
CREATE SCHEMA PRACTICE --创建了PRACTICE架构
CREATE TABLE USERS(USERID INT PRIMARY KEY,USERNAME VARCHAR(50))--包含表USERS
CREATE TABLE NEWS(NEWSID INT PRIMARY KEY,NEWTITLE VARCHAR(200))--包含表USERS
GRANT SELECT TO admin--为admin授予Select权限
DENY SELECT TO xuett;--拒绝授予xuett Select权限
Go

——创建包含两个表结构的数据库模式(PRACTICE)

注意:允许包含 CREATE SCHEMA AUTHORIZATION 但不指定名称的语句存在,目的只是为了向后兼容。

CREATE SCHEMA 事务是原子级的。如果 CREATE SCHEMA 语句执行期间出现任何错误,则不会创建任何指定的安全对象,也不会授予任何权限。

由 CREATE SCHEMA 创建的安全对象可以任何顺序列出,但引用其他视图的视图除外。在这种情况下,被引用的视图必须在引用它的视图之前创建。

因此,GRANT 语句可以在创建某个对象之前对该对象授予权限,CREATE VIEW 语句也可以出现在创建该视图所引用表的 CREATE TABLE 语句之前。同样,CREATE TABLE 语句可以在 CREATE SCHEMA 语句定义表之前声明表的外键。

SQL学习中(序)的更多相关文章

  1. SQL学习中(一)序列

    序列可以理解数值序列生成器,通俗的说是按照已经设定的规则自动产生数据的方案对象.--SQL SERVER不支持 个人认为序列类似于SQLSERVER中的identity(1,1),可以用于在表中添加数 ...

  2. SQL 学习——简序以及学习路线

    1.最近发现自己除去简单的SQL语句好像其他的并不怎么懂哎,虽然暂时是android用不到太复杂点的语句,想来总不能一直这样把, 顺带还是看看Sql. 2.画个图规划下自己的学习路线

  3. [SQL]学习中遇到的错误

    1.中英文模式切换 查找语句中不能出现中文字符!!!

  4. SQL Server中的锁的简单学习

    简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查询的 ...

  5. Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)

    知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...

  6. SQL学习笔记之项目中常用的19条MySQL优化

    在写文章之前,首先感谢 飞友科技 陆老师提供的文档.. 声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的 0x00 EXPLAIN 做MySQL优化,我们要善用 EXPL ...

  7. Web安全学习笔记 SQL注入中

    Web安全学习笔记 SQL注入中 繁枝插云欣 --ICML8 权限提升 数据库检测 绕过技巧 一.权限提升 1. UDF提权 UDF User Defined Function,用户自定义函数 是My ...

  8. pl/sql学习(6): 引号/程序调试/列中的字符串合并/正则表达式

    有关自治事务的问题: https://www.cnblogs.com/princessd8251/p/4132649.html 我在plsql development学习中遇到的常见问题: (一) 引 ...

  9. MVC3学习:Sql Server2005中时间类型DateTime的显示

    在Sql Server2005中,如果将某字段定义成日期时间类型DateTime,那么在视图中会默认显示成年月日时分秒的方式(如 2013/8/6 13:37:33) 如果只想显示成年月日形式,不要时 ...

随机推荐

  1. ibatis中isEquals、isNotEmpty的用法

    一:isEquals用于动态拼接sql 如下实例: 如果status的状态为0,则更新attribute1;状态为1,则更新attribute2; 状态为2,则更新attribute3. <up ...

  2. WampServer下修改和重置MySQL密码(转)

    转自:www.2cto.com/database/201504/387589.html WampServer安装后密码是空的, 修改一般有两种方式: 一是通过phpMyAdmin直接修改: 二是使用W ...

  3. 命令行创建Windows窗体应用程序

    csc:(C Sharp Compiler) 类似于 javac (java Compiler) 命令行的编译工具 位置:C:\Windows\Microsoft.NET\Framework\v4.0 ...

  4. Linux 命令 - crontab: 任务调度

    cron 是一个 Linux 下的定时执行工具,可以在无需人工干预的情况下运行作业.守护进程 cron 会读取 crontab 文件,根据配置在指定的时间执行任务.contab 命令用来添加.删除.显 ...

  5. HTTP相关知识 --转载

    转载之,言简意赅

  6. Linux命令(7):rm命令

    1.作用: 删除一个目录中的一个或多个文件或目录: 2.格式: rm  [选项] 文件或目录 3.常见参数: 4.使用实例: [root@www hello]# rm –r -i ./why 5.使用 ...

  7. PHP学习笔记 - 入门篇(4)

    PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...

  8. css Hack 以及css的一些兼容问题小结

    坚持每天做总结.今天下班还算早.写个跟css兼容有关的知识点.便于后期查看与学习.一.先说说各种主流浏览器的内核 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引 ...

  9. .net core demo & docker images

    记录.net core 部署在docker 上的大概步骤便于以后查阅. PART 1 .net core web api demo 1.下载最新VS 2015 community 社区版免费使用. 2 ...

  10. Winform程序只允许运行一个程序实例

    /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { Application ...