精华内容
下载资源
问答
  • MySQL数据库 prompt参数详解

    千次阅读 2016-10-24 22:14:49
    在MySQL数据库默认情况下,mysql程序主提示符是mysql>,在mysql配置文件my.cnf(windows系统为.ini文件)的mysql选项下定义prompt参数进行提示符美化,使之达到自己想要的效果, 我个人较喜欢的格式为 [mysql] prompt=...

    在MySQL数据库默认情况下,mysql程序主提示符是mysql>,在mysql配置文件my.cnf(windows系统为.ini文件)的mysql选项下定义prompt参数进行提示符美化,使之达到自己想要的效果,

    我个人较喜欢的格式为

    [mysql]

    prompt=\\U [\\d]>  显示的效果为 #root@localhost [mysql]>

    下列出prompt参数的完整选项清单:


    转义序列 含义
    \c 当前输入行数
    \d 默认数据库名字,尚未选定数据库,则是(null)
    \D 完整的日期和时间
    \h 当前主机
    \l 当前分隔符(从MySQL5.025/5.1.12起)
    \m 分钟
    \o 月份数字
    \O 月份名称,3个字母
    \p 当前端口号、套接字文件名、命名管道或共享内存的名字
    \P 时间值am或pm标志
    \r 小时(12小时)
    \R 小时(24小时)
    \s
    \S 分号
    \t 制表符
    \u 当前用户名,不带主机名
    \U 当前用户名,带主机名
    \v 服务器的版本号
    \w 星期几,3个字母
    \y 年(2位数字)
    \Y 年(4位数字)
    \' 单引号
    \" 双引号
    \_ 空格字符
    \ 空格字符(这个转义序列是一个反斜线加一个空格)
    \\ 反斜线字符
    \n 换行符
    \x 字符x,x是内有上边列出现的任何字符



    除了在配置文件中进行设置外,还可以通过--prompt选项进行设置提示符



    展开全文
  • 数据库SQLPrompt

    2012-06-21 15:34:42
    很方便的数据库sql语句拓展工具,具有format SQL,Expand wildcards 等功能,使用方便,快捷,使用数据库的编程人员必用。
  • SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为用户提供唯一合适的代码选择。自动脚本设置为用户提供了简单的代码易读性--这在开发者使用的是不大熟悉的脚本时尤其有用。SQL ...
  • 数据库插件SQL Prompt6.3.0.344,亲自测试特别好用,欢迎使用
  • sql prompt 9 破解版可以帮助您在处理数据库的时候获得更好的代码提示功能
  • SQLPrompt7.0 数据库辅助工具超级好用,文件夹中带带破解说明!
  • SQL Prompt是一款拥有SQL智能提示功能的SQL Server和VS插件。支持各版本数据库的提示插件
  • SQLPrompt数据库格式化工具,分享多多,SQLPrompt数据库格式化工具,分享多多,
  • SQLPrompt数据库插件,可用版本,自己一直使用中
  • 另外,需要注意的是,该插件不会主动更新缓存,如果数据库中的对象有变化,需要手动刷新一下缓存,可以按Ctrl+Shift+D,或者在主菜单中找到SQL Prompt->Refresh Cache。 2、 智能提示 在查询分析器中编写代码的...
  • SQL Prompt 9是一款功能丰富的拥有SQL智能提示功能的SQL Server和VS插件,它能够根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为用户提供唯一合适的代码选择。作为一款SQL语法提示插件,SQL ...
  • mysql>prompt \u@\h(\d) \r:\m:\s> \u:连接用户 \h:连接主机 \d:连接数据库 \r:\m:\s:显示当前时间 mysql>prompt \u@\h(\d) \r:\m:\s> root@localhost(mysql) 08:55:21> status ————– mysql Ver 14.14 Distrib ...
  • SQL Prompt根据数据库的对象名称、语法和代码片段自动进行检索,为用户提供合适的代码选择。自动脚本设置使代码简单易读–当开发者不大熟悉脚本时尤其有用。SQL Prompt安装即可使用,能大幅提高编码效率。此外,用户...

    SQL Prompt是一款实用的SQL语法提示工具。SQL Prompt根据数据库的对象名称、语法和代码片段自动进行检索,为用户提供合适的代码选择。自动脚本设置使代码简单易读–当开发者不大熟悉脚本时尤其有用。SQL Prompt安装即可使用,能大幅提高编码效率。此外,用户还可根据需要进行自定义,使之以预想的方式工作。

    点击下载SQL Prompt正式版

    标量UDF作为全局数据库常量的错误使用是一个主要的性能问题,每当SQL Prompt在任何生产代码中发现此错误时,都应进行调查。除非您需要在计算列或约束中使用这些全局常量,否则通常将值存储在内联表值函数中或使用视图会更安全,更方便。

    开发人员倾向于期望能够在数据库中设置全局值,以提供诸如Pi的值之类的常量,或诸如税率,语言,文件URN或URL之类的变量。用户定义的标量函数返回单个值,因此似乎提供了理想的方法。这对于不经常执行的功能以及处理相对较小的数据集是很好的,但是在其他情况下,它可能会导致严重的查询性能问题。出现问题是因为SQL Server不相信未经模式验证的标量函数是精确的和确定性的,因此在执行它们时会选择最安全(尽管最慢)的选项。

    调用具有BEGIN…END块的任何SQL Server函数都会产生开销,因为除非允许SQL Server通过使用架构绑定创建该函数来验证其输出,否则它将在过滤数据之前重新为每一行执行该函数。 ,即使您很明显每次都会返回相同的值。这是一个比较隐蔽的问题,尽管扩展事件会话将揭示实际发生的情况,但是它并没有真正显示其在执行计划中的全部意义。

    简而言之,请勿在JOIN条件,WHERE搜索条件或SELECT列表中使用标量用户定义函数(UDF),除非该函数是架构绑定的。SQL Prompt实现了静态代码分析规则PE017,该规则专门用于帮助您检测和纠正此问题。除非您对模式绑定及其对数据库更改的后果有信心,否则最好使用将值传输到变量,或者使用诸如视图或内联表值函数之类的模块。

    解决问题

    如果SQL Prompt检测到您的代码出现PE017,该怎么办?

    我们将设置所有可能的选项,运行一些性能测试,并提出一些建议。

    符合模式的UDF
    通过添加架构绑定以确保其经过系统验证,可以正确使用标量函数。清单1创建了相同的简单Wordcount函数的两个版本,首先不带模式绑定,然后带模式绑定,这两个版本都简单地返回一个常量。在每一种情况下,我们检查IsDeterministic,IsPrecise以及IsSystemVerified属性值对每个对象。

    最后,它创建了第三个版本,该版本仅返回其参数值,仅用于检查这是否是SQL Server验证过程中的一个因素。
    IF Object_Id(‘dbo.Wordcount’) IS NOT NULL DROP FUNCTION dbo.Wordcount
    GO

    CREATE FUNCTION dbo.Wordcount()
    /**
    Summary: >
    A simple scalar multi-statement function
    without schemabinding that returns a constant
    Author: PhilFactor
    Date: 01/02/2018
    Returns: >
    the integer value 5
    **/
    RETURNS INT
    AS
    BEGIN
    RETURN 5
    END
    GO

    /* we now test it to see whether SQL Server trusts it */
    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.Wordcount’), N’IsDeterministic’) AS deterministic;

    –Is a precise number returned? Whenever floating point operations are used in resolving
    –expressions, the results are not precise, by the very nature of the way that the datatype is stored.
    SELECT ObjectPropertyEx(Object_Id(‘dbo.Wordcount’), N’IsPrecise’) AS precise;

    –Can SQL Server verify that the function is precise and deterministic?
    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.Wordcount’), N’IsSystemVerified’) AS verified;
    GO

    IF Object_Id(‘dbo.WordcountSchemaBound’) IS NOT NULL DROP FUNCTION dbo.WordcountSchemaBound
    GO

    CREATE FUNCTION dbo.WordcountSchemaBound()
    /**
    Summary: >
    A second version of a simple scalar multi-statement function
    with schemabinding that returns a constant
    Author: PhilFactor
    Date: 01/02/2018
    Returns: >
    the integer value 5
    **/
    RETURNS INT
    WITH SCHEMABINDING
    AS
    BEGIN
    RETURN 5
    END
    GO

    /* Repeat tests to see if SQL Server trusts dbo.WordcountSchemaBound*/
    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.WordcountSchemaBound’), N’IsDeterministic’) AS deterministic;

    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.WordcountSchemaBound’), N’IsPrecise’) AS precise;

    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.WordcountSchemaBound’), N’IsSystemVerified’) AS verified;
    GO

    IF Object_Id(‘dbo.Wordcounter’) IS NOT NULL DROP FUNCTION dbo.Wordcounter
    GO

    CREATE FUNCTION dbo.Wordcounter
    /**
    Summary: >
    A third version of a simple scalar multi-statement function
    without schemabinding that merely returns its parameter
    To test whether the absense of any parameter is a determining
    Factor – whether adding a parameter here gets round the problem
    Author: PhilFactor
    Returns: >
    the integer value passed to it
    **/
    (@howMany INT)
    RETURNS INT
    AS
    BEGIN
    RETURN @howMany
    END
    GO

    /* Repeat tests to see if SQL Server trusts dbo.Wordcounter*/
    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.Wordcounter’), N’IsDeterministic’) AS deterministic;

    SELECT ObjectPropertyEx(Object_Id(‘dbo.Wordcounter’), N’IsPrecise’) AS precise;

    SELECT ObjectPropertyEx(
    Object_Id(‘dbo.Wordcounter’), N’IsSystemVerified’) AS verified;
    GO
    清单1
    如果运行清单1,您将看到该函数的第二个版本WordCountSchemaBound,对这三个属性返回true。稍后我们将看到这对调用这些函数的所有查询的性能有多大影响。

    尽管模式绑定具有许多优点,但是在这种情况下,这意味着您将被明确禁止将常量视为变量,这并不是一件坏事。如果您更改了“常量”函数(即您已在表中的约束或计算列中使用的函数),它将被证明很复杂。另外,如果尝试在数据库工作时更改常量,则使用正在执行的功能的计划将在功能上放置模式稳定性锁,这将防止您更改常量的值,因为它们需要更改模式。锁。

    标量UDF的替代品

    清单2展示了标量UDF的几种替代选择,它们可以在不需要或不想对其进行模式绑定的情况下保存数据库范围的值。首先是视图,然后是表值函数。
    IF Object_Id(‘dbo.WordCountView’) IS NOT NULL DROP VIEW dbo.WordCountView
    GO
    CREATE VIEW dbo.WordCountView
    AS
    /**
    Summary: >
    A very simple view that returns a single row with one column
    Author: PhilFactor
    Date: 01/02/2018
    Returns: >
    a single row with a column called ‘wordcount’
    /
    SELECT 5 AS wordcount
    GO
    IF Object_Id(‘dbo.WordCountTVF’) IS NOT NULL DROP FUNCTION dbo.WordCountTVF
    GO
    CREATE FUNCTION dbo.WordCountTVF()
    /

    Summary: >
    A table valued function that returns a single
    row with a column called ‘wordcount’
    Author: PhilFactor
    Date: 01/02/2018
    Returns: >
    a single row with a column called ‘wordcount’
    **/
    RETURNS TABLE
    AS
    RETURN
    (SELECT 5 AS wordcount)
    GO
    清单2
    视图定义中引用的对象不能以使视图定义非法或强制SQL Server在视图上重新创建索引的方式进行更改。

    尽管有额外的CHECK约束保护,但我没有使用表来保存常量的方法。表格的设计并非一成不变!作为破坏者,我会告诉您它们的表现和视图一样好。

    性能测试

    排列所有候选解决方案后,让我们看看它们的性能如何。我将测试每个选项能多快找出英语中常用的五个字母的单词。这些测试要求我们创建一个简单Commonwords表,其中包含所有常见单词的单列(主键)。要填充它,您需要下载commonwords 文件,然后运行清单3,并使用正确的文件路径。
    DECLARE @AllCommonWords XML =
    (SELECT * FROM OpenRowset(BULK ‘C:\MyPath\commonwords.XML’,
    SINGLE_BLOB) AS x );

    IF Object_Id(‘commonwords’, ‘U’) IS NOT NULL DROP TABLE commonwords;

    CREATE TABLE commonwords (word VARCHAR(40) NOT NULL PRIMARY KEY);

    INSERT INTO commonwords(word)
    SELECT word = word.value(’@el’, ‘varchar(40)’)
    FROM @AllCommonWords.nodes(’/commonwords/row’) AS CommonWords(word);
    清单3
    对于计时,我将使用我的文章如何使用SQL Prompt片段记录T-SQL执行时间中描述的简单测试工具。
    – create a temporary table variable to hold timings
    DECLARE @log TABLE
    (
    TheOrder INT IDENTITY(1, 1),
    WhatHappened VARCHAR(200),
    WhenItDid DATETIME2 DEFAULT GetDate()
    )

    ----start of timing
    INSERT INTO @log(WhatHappened) SELECT ‘Starting the test run’–place at the start

    –first we see how fast it is with a literal number, as a benchmark
    SELECT Count(*) FROM commonWords WHERE Len(word)=5
    INSERT INTO @log(WhatHappened) SELECT ‘simple Query with literal number’–place at the start

    –then see how long it takes if you transfer the ‘constant’ to a local variable
    DECLARE @NumberOfLetters INT=dbo.wordcount()
    SELECT Count(*) FROM commonWords WHERE Len(word)=@NumberOfLetters
    INSERT INTO @log(WhatHappened) SELECT 'Same query but with value transferred from UDF to variable ’

    –Now we see how long with the scalar UDF that just passes the value back
    SELECT Count(*) FROM commonWords WHERE Len(word)=dbo.wordcounter(5)
    iNSERT INTO @log(WhatHappened) SELECT 'Same but using a scalar function with parameter ’

    – And now with the use of a scalar UDF function as a global constant
    SELECT Count(*) FROM commonWords WHERE Len(word)=dbo.wordcount()
    iNSERT INTO @log(WhatHappened) SELECT 'Same with a ‘‘constant’’ UD scalar function ’

    – And now with the use of a schema-bound scalar UDF as a global constant
    SELECT Count() FROM commonWords WHERE Len(word)=dbo.wordcountSchemaBound()
    iNSERT INTO @log(WhatHappened) SELECT ‘Same with schema-bound ‘‘constant’’ UD scalar function’
    –We’ll now use a view to do the same thing
    SELECT Count(
    ) FROM commonWords
    INNER JOIN dbo.WordCountView
    ON Len(word)=wordcount
    iNSERT INTO @log(WhatHappened) SELECT 'Using a view containing a constant with inner join ’

    –We’ll now use a view with a cross join to do the same thing
    SELECT Count(*) FROM commonWords
    CROSS JOIN dbo.WordCountView
    where Len(word)=wordcount
    iNSERT INTO @log(WhatHappened) SELECT 'Using a ‘‘constant’’ view with a cross join ’

    –and now with an inline table-valued function. Some functions are OK!
    SELECT Count(*) FROM commonWords
    INNER JOIN dbo.WordCountTVF()
    ON Len(word)=wordcount
    iNSERT INTO @log(WhatHappened) SELECT ‘Using an inline TVF to provide a constant’

    –we see if a different syntax makes a difference
    SELECT Count() FROM commonWords
    cross JOIN dbo.WordCountTVF()
    WHERE Len(word)=wordcount
    iNSERT INTO @log(WhatHappened) SELECT ‘Using an inline TVF and cross join to provide a constant’
    SELECT ending.whathappened AS test, DateDiff(ms, starting.whenItDid,ending.WhenItDid) [Time in ms] FROM @log starting
    INNER JOIN @log ending ON ending.theorder=starting.TheOrder+1
    –list out all the timings
    GO
    /
    this is the end of the test section */
    清单4
    运行此命令时,我们验证查询中使用常量的所有形式均产生相同的结果。时代非常清楚地表明问题是什么,问题的严重程度

    几乎不需要图表来强调PE017的恐怖-const UDF的不正确使用。SQL Server执行不受架构限制的未经验证的标量UDF的方式非常谨慎(每行询问“是否仍返回5? ”),速度慢了五十倍。

    除了避免使用不受模式约束的标量UDF外,该测试还表明,平均而言,在其他任何向查询中获取恒定值的方法之间,性能没有真正的区别。在每种情况下,查询执行计划都是相同的。

    现在,我们通过使用拆卸部分结束,将所有内容整理整齐放在我们的测试数据库中。
    IF Object_Id(‘dbo.Wordcount’) IS NOT NULL
    DROP function dbo.Wordcount
    GO
    IF Object_Id(‘dbo.WordcountSchemaBound’) IS NOT NULL
    DROP function dbo.WordcountSchemaBound
    GO
    IF Object_Id(‘dbo.Wordcounter’) IS NOT NULL
    DROP function dbo.Wordcounter
    GO
    IF Object_Id(‘dbo.WordCountView’) IS NOT NULL
    DROP view dbo.WordCountView
    GO
    IF Object_Id(‘dbo.WordCountTVF’) IS NOT NULL
    DROP function dbo.WordCountTVF
    GO
    清单5
    推荐建议

    如果您使用未经验证的标量函数,那么查询将非常缓慢,因为无论是否具有参数,您都将在每一行上执行该查询。

    如果您面对大量使用标量UDF作为全局常量的继承代码,则可以使用架构绑定重做它们。但是,如果这些是全局变量,并且在实时系统中很少更改,那么我不会想到这种选择,因为如果不临时更改在约束或计算列中使用它的每个表,就无法更改模式绑定函数,要删除它们,请更改函数,然后替换约束和计算列。

    视图或TVF的用途更加广泛,所以我更倾向于使用它们来保存“全局”值。如果更改了这些内容,则会记录该更改,因为它们需要DDL更改。唯一的问题是在约束或计算列中只能使用标量函数。如果使用表,那很好,但是请记住,更改常量不是DDL更改,因此您必须设置访问权限以拒绝任何人更改权限,例如税率!

    SQL Prompt 使用教程>>>

    展开全文
  • 一款很好用的SQL代码美化工具,可自动转换,格式化代码,自动搜索数据库对象,并调取对象语法等等。
  • 自从微软的VS2003提供了智能感知的功能,大家应该都觉得好用吧,那数据库有这个工具么,答案是当然,SQL Prompt。具体可以访问以下网站http://www.red-gate.com/products/sql_prompt/index.htm,里面还有很多SQL的...
    自从微软的VS2003提供了智能感知的功能,大家应该都觉得好用吧,那数据库有这个工具么,答案是当然,SQL Prompt。具体可以访问以下网站http://www.red-gate.com/products/sql_prompt/index.htm,里面还有很多SQL的工具,14天的免费试用。


    目前该工具只支持英文版本的(Microsoft Query Analyzer, SQL Server 2005 Management Studio, Visual Studio 2005, Visual Studio .NET 2003, SQL Server 2000 Enterprise Manager, UltraEdit32 EditPlus)。这个工具的实现原理与金山词霸有点类似,利用Hook技术,它通过FindWindows,匹配“窗口标题栏内容”内容来定位到目标Sql编辑窗口,Hook该窗口之后,截获用户输入的Sql脚本。

    所以如果大家目前使用的Sql Query Analyser是中文的,就需要切换到英文环境(打开C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Resources 把其中的2052文件夹名的重命名成其他名称:如 2052tmp 再重新打开SqlQueryAnalyser,就变成英文版本了),只有这样这个工具才会起智能感知作用!

    展开全文
  • 1,安装SQLPrompt v5.3.2.2,这个不多说。 2,安装完毕后,断开网络连接(关键)。 3,打开Visual Studio或者SQL Server Management Studio(版本不限)。 4,在菜单栏找到SQL Prompt5,点击,找到Serial Number/...
  • 今天在做MySQL练习过程中,突然发现,登陆mysql后,命令行不能显示用户名和主机信息,同时呢,想查看数据库信息还需要查看select datebase()命令查看,特别不方便,因此特别查看了mysql的相关资料,每次通过客户端...

          今天在做MySQL练习过程中,突然发现,登陆mysql后,命令行不能显示用户名和主机信息,同时呢,想查看数据库信息还需要查看select datebase()命令查看,特别不方便,因此特别查看了mysql的相关资料,每次通过客户端登陆怎么才能显示这些信息呢?其实MySQL的相关设置都在配置文件my.cnf中可以设置。因此就去看my.cnf文件,之前就使用下,没有细心看。my.cnf配置文件中两大部分:[client]和[mysqld],前者是客户端的配置参数,后者是服务端的配置参数,既然问题是:客户端登陆MySQL服务显示相关信息,那么配置应该在[client]当中,那么应该如何设置呢?请看下文一一解答。

    [client]

     

    port = 3306

     

    socket = /tmp/mysql.sock

     

    prompt="\\u@\\h:\\d>"

    [mysqld]备注:设置后重启MySQL 服务。 \u 表示用户名,  \h 表示主机名, \d 表示当前数据库。

    设置格式可以添加相关符号比如[]等

    或者:

    prompt= '(product)\u@\h [\d]> '

    https://www.cnblogs.com/cnzeno/p/6306049.html

    展开全文
  • 是开始但愿不是结束,是起点但愿不是终点今天在做MySQL练习过程中,突然发现,登陆mysql后,命令行不能显示用户名和主机信息,同时呢,想查看数据库信息还需要查看select datebase()命令查看,特别不方便,因此特别...
  • SQL Prompt

    2011-11-27 03:11:30
    SQL Prompt ,数据库智能提示插件。
  • MYSQL数据库

    2020-12-02 06:50:03
    prompt 修改提示符 \D 完整日期 \d数据库 \u当前用户名 \h服务器名称 规范: 关键字与函数全部大写 语句以分隔符结尾 数据类型 TINYINT SMALLINT()…… CHAR() ENUM() 列举 查看引擎 SHOW ENGINES 注释 – 编码...
  • Mysql数据库

    2020-06-21 11:36:40
    prompt # 修改数据库命令提示符 SELECT VERSION(); # 查看数据库版本 SQL语句规范 SQL常用命令 DELIMITER 自定命令分隔符 #修改默认命令分割符 \T 文件 # 将执行的SQL操作记录到指定文件 通过 \t 结束输出到文件...
  • MySQL数据库

    2017-04-17 21:29:56
     修改MySQL提示符 prompt 例如:prompt \u@\h \d> 即用户@主机名称(操作的数据库) 显示当前服务器版本 SELECT VERSION(); 显示当前日期时间 SELECT NOW(); 显示当前用户 SELECT USER();MySQL语句规范:关键字与...
  • 数据库.txt

    2019-10-19 23:14:32
    prompt (\R) 改变MySQL提示信息 quit (\q) 退出MySQL rehash (\#) 重新完成散列 source (\.) 执行一个SQL脚本文件,以一个文件名作为参数。 status (\s) 以服务器获取MySQL的状态 tee (\T) 设置输出文件,并将信息...
  • SQL prompt 9.0

    2019-03-02 11:14:41
    SQL prompt 9.0破解版是一款强大的数据库编程提示插件,支持搜索数据库的对象名称,还可以对语法和代码片段自动检索,让你的开发事半功倍,内附注册机,欢迎有需要的下载。 sql prompt 9 破解版介绍: sql prompt ...
  • 数据库智能提示和源代码管理工具(支持SVN)SQLPrompt_7.0.0.40, RedGate_SQL_SourceControl.V3.0.13.4214
  • 数据库升级后 SQLPrompt也需要升级才支持数据库升级后 SQLPrompt也需要升级才支持数据库升级后 SQLPrompt也需要升级才支持数据库升级后 SQLPrompt也需要升级才支持数据库升级后 SQLPrompt也需要升级才支持数据库升级...
  • Oracle数据库实验

    千次阅读 2020-12-28 00:14:25
    启动SQL*Plus工具,用system用户连接到orcl数据库。 sqlplus system/12345678@orcl 进行用户切换,以SYSDBA身份连接数据库orcl。 conn system/12345678@orcl as sysdba 首先使用记事本编写一个脚本文件(内容如下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 924
精华内容 369
关键字:

数据库prompt