• 首页>范文 > 范文
  • 数据库脚本怎么写

    1.在sql server数据库新建用户的脚本怎么写

    CREATE USER user_name

    [ { { FOR | FROM }

    {

    LOGIN login_name

    }

    | WITHOUT LOGIN

    }

    ]

    [ WITH DEFAULT_SCHEMA = schema_name ]

    [;]

    -- SQL Database syntax when connected to a federation member

    CREATE USER user_name

    [;]

    参数说明:

    user_name

    指定在此数据库中用于识别该用户的名称。 user_name 的数据类型为 sysname。 它的长度最多是 128 个字符。 在创建基于 Windows 主体的用户时,除非指定其他用户名,否则 Windows 主体名称将成为用户名。

    LOGIN login_name

    指定要为其创建数据库用户的登录名。 login_name 必须是服务器中的有效登录名。 可以是基于 Windows 主体(用户或组)的登录名,也可以是使用 SQL Server 身份验证的登录名。 当此 SQL Server 登录名进入数据库时,它将获取正在创建的这个数据库用户的名称和 ID。 在创建从 Windows 主体映射的登录名时,请使用格式 []。 有关示例,请参阅语法摘要。

    如果 CREATE USER 语句是 SQL 批处理中唯一的语句,则 Windows Azure SQL Database 将支持 WITH LOGIN 子句。 如果 CREATE USER 语句不是 SQL 批处理中唯一的语句或在动态 SQL 中执行,则不支持 WITH LOGIN 子句。

    WITH DEFAULT_SCHEMA = schema_name

    指定服务器为此数据库用户解析对象名时将搜索的第一个架构。

    windows_principal'

    指定正为其创建数据库用户的 Windows 主体。 windows_principal 可以是 Windows 用户或 Windows 组。 即使 windows_principal 没有登录名,也将创建该用户。 连接 SQL Server 时,如果 windows_principal 没有登录名,Windows 主体必须通过有登录名的 Windows 组中的成员身份在数据库引擎中进行身份验证,或者连接字符串必须将包含数据库指定为初始目录。 在从 Windows 主体创建用户时,请使用格式 []。

    2.如何编写一个mysql数据库脚本

    导出正式服务器的数据库和测试服务器数据库,并按照指定格式命名。

    打开Beyond Compare软件,如图,选择文本比较,进入到文本比较主界面之后 ,如图选择要比较的sql文件,然后,软件会呈现出如图数据库结构的不同之处。

    即使在比较出两个数据库的结构不同之后,对于sql语句的小白来说,很难写出升级数据库的升级脚本,下面我们将讲解如何利用mysql workbench来帮你写sql。

    首先,在本地数据库创建test和release数据库,创建步骤如图所示。然后,将第二步导出的数据库分别导入到新建的数据库,接下来就可以对release数据库动手了。

    下面以增加数据库表的一个字段为例,讲解sql语句的生成。由图中的7个步骤,便可以得到对一个表增加一个字段的sql语句,对表字段的增删改,对表内容的增删改操作,删除表操作类似可得。下面讲如何得到新建一个表的sql语句。

    如图,便可得到创建表的语句。

    上述的sql语句的集合便是数据库生成脚本,脚本通常是在workbench里面编辑查看和执行的,几个基本按钮的使用如图。

    执行完上述sql脚本之后,正式服务器的数据库和测试服务器的数据库结构除了主键自增值,host差异之外,其余内容应全部相同,如果不是,则调整脚本内容,直至两个数据库的结构相同为止。

    此时的数据库升级脚本仍为数据库升级暂时脚本,临时脚本需交由项目负责人审核检查之后,按照:工程名+版本+时间+正式+数据库升级脚本.sql保存,并上传svn,用于新版本发布。

    3.创建数据库的脚本怎么写数据库的地址,增长

    CREATE DATAbase [Test] ON PRIMARY ( NAME = N'Test', FILENAME = N'E:Microsoft SQL ServerMSSQL.1MSSQLDATATest.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = N'Test_log', FILENAME = N'E:Microsoft SQL ServerMSSQL.1MSSQLDATATest_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)GO一个创建 SQL Server 数据库的例子。

    4.求救数据库回滚脚本怎么写

    CREATE PROC [dbo].[notice_Delete] --- 同时删除该通知书和对应的节点

    @tbl VARCHAr(30),

    @pid INT

    AS

    BEGIN

    DECLARE @tblname VARCHAr(30) ;

    DECLARE @sql VARCHAr(1000) ;

    SET @tblname = @tbl

    SET @sql = 'delete ' + @tblname + ' where id ='

    + ConVERT(VARCHAr(10), @pid)

    BEGIN TRAN --开始事务

    EXEC ( @sql

    )

    IF ( @@rowcount = 0 ) --执行结果影响行数为0

    BEGIN

    ROLLBACK TRAN --回滚

    END

    ELSE

    BEGIN

    DELETE FROM tbl_treenotice

    WHERe purposeid = @pid

    IF ( @@rowcount = 0 ) --执行结果影响行数为0

    BEGIN

    ROLLBACK TRAN --回滚

    END

    ELSE

    BEGIN

    COMMIT TRAN --提交事务

    END

    END

    END

    5.创建数据库的脚本怎么写数据库的地址,增长

    CREATE DATAbase [Test] ON PRIMARY

    ( NAME = N'Test',

    FILENAME = N'E:Microsoft SQL ServerMSSQL.1MSSQLDATATest.mdf' ,

    SIZE = 3072KB ,

    FILEGROWTH = 1024KB )

    LOG ON

    ( NAME = N'Test_log',

    FILENAME = N'E:Microsoft SQL ServerMSSQL.1MSSQLDATATest_log.ldf' ,

    SIZE = 1024KB ,

    FILEGROWTH = 10%)

    GO

    一个创建 SQL Server 数据库的例子。

    6.Oracle数据库备份脚本怎么写

    没必要用root权限执行,oracle用户同样可以执行crontab计划任务

    1、su - oracle

    crontab -e

    0 4 * * 0 /home/oracle/exp.sh 2>&1 >>/home/oracle/script_exp.log;

    0~59 表示分

    0~23 表示小时

    1~31 表示日

    1~12 表示月份

    0~6 表示星期(其中0表示星期日)

    2、cat /home/oracle/exp.sh

    . ~/.bash_profile

    bakdir=/opt/dbbak

    logdir=/home/oracle/dbbak

    rq=$(date +%Y%m%d)

    exp system/***** owner=jysh file=${bakdir}/jysh_${rq}.dmp log=${logdir}/jysh_${rq}.log;

    find ${bakdir} -type f -mtime +30 -exec rm -rf {} ;

    7.如何查询数据库里面一条都没有的索引,脚本怎么写,在线等

    用以下sql就可以做到:

    SELECt

    schemaname = OBJECT_SCHEMA_NAME(o.object_id)

    ,tablename = o.NAME

    FROM sys.objects o

    INNER JOIN sys.indexes i ON i.OBJECT_ID = o.OBJECT_ID

    WHERe (

    o.type = 'U'

    AND o.OBJECT_ID NOT IN (

    SELECt OBJECT_ID

    FROM sys.indexes

    WHERe index_id > 0

    )

    )

    数据库脚本怎么写

    发表评论

    登录后才能评论