﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-魔のkyo的工作室-随笔分类-SQL</title><link>http://www.cnitblog.com/luckydmz/category/8954.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 22 Jun 2020 17:42:24 GMT</lastBuildDate><pubDate>Mon, 22 Jun 2020 17:42:24 GMT</pubDate><ttl>60</ttl><item><title>数据库元数据查询</title><link>http://www.cnitblog.com/luckydmz/archive/2020/01/15/92019.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Wed, 15 Jan 2020 09:04:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2020/01/15/92019.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/92019.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2020/01/15/92019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/92019.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/92019.html</trackback:ping><description><![CDATA[<br />SQL Server(version 2005)读取数据库中的表信息<br /><div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">select</span><br />&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">table_name</span><span style="color: #FF0000; ">'</span>,<br />&nbsp;&nbsp;&nbsp;&nbsp;create_date&nbsp;<span style="color: #0000FF; ">AS</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">create_time</span><span style="color: #FF0000; ">'</span>,<br />&nbsp;&nbsp;&nbsp;&nbsp;modify_date&nbsp;<span style="color: #0000FF; ">AS</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">update_time</span><span style="color: #FF0000; ">'</span><br /><span style="color: #0000FF; ">from</span>&nbsp;sys.tables<br /><span style="color: #0000FF; ">where</span>&nbsp;type&nbsp;<span style="color: #808080; ">=</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">U</span><span style="color: #FF0000; ">'</span></div><br /><br />
SQL Server(version 2005)读取表中的列信息<br />
<div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">SELECT</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;a.name&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_name</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.name&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">data_type</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF00FF; ">COLUMNPROPERTY</span>(a.id,a.name,<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">PRECISION</span><span style="color: #FF0000; ">'</span>)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">data_length</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF00FF; ">COLUMNPROPERTY</span>(a.id,a.name,<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Scale</span><span style="color: #FF0000; ">'</span>)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">data_scale</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF00FF; ">case</span>&nbsp;<span style="color: #0000FF; ">when</span>&nbsp;<span style="color: #808080; ">exists</span>(<span style="color: #0000FF; ">SELECT</span>&nbsp;<span style="color: #800000; font-weight: bold; ">1</span>&nbsp;<span style="color: #0000FF; ">FROM</span>&nbsp;sysobjects&nbsp;<span style="color: #0000FF; ">where</span>&nbsp;xtype<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">PK</span><span style="color: #FF0000; ">'</span>&nbsp;<span style="color: #808080; ">and</span>&nbsp;parent_obj<span style="color: #808080; ">=</span>a.id&nbsp;<span style="color: #808080; ">and</span>&nbsp;name&nbsp;<span style="color: #808080; ">in</span>&nbsp;(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">SELECT</span>&nbsp;name&nbsp;<span style="color: #0000FF; ">FROM</span>&nbsp;sysindexes&nbsp;<span style="color: #0000FF; ">WHERE</span>&nbsp;indid&nbsp;<span style="color: #808080; ">in</span>(&nbsp;<span style="color: #0000FF; ">SELECT</span>&nbsp;indid&nbsp;<span style="color: #0000FF; ">FROM</span>&nbsp;sysindexkeys&nbsp;<span style="color: #0000FF; ">WHERE</span>&nbsp;id&nbsp;<span style="color: #808080; ">=</span>&nbsp;a.id&nbsp;<span style="color: #808080; ">AND</span>&nbsp;colid<span style="color: #808080; ">=</span>a.colid)))&nbsp;<span style="color: #0000FF; ">then</span>&nbsp;<span style="color: #800000; font-weight: bold; ">1</span>&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;<span style="color: #800000; font-weight: bold; ">0</span>&nbsp;<span style="color: #0000FF; ">end</span>&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">primary_key</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF00FF; ">COLUMNPROPERTY</span>(a.id,a.name,<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">IsIdentity</span><span style="color: #FF0000; ">'</span>)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">autoincrement</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.isnullable&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">nullable</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.<span style="font-weight: bold;">text</span>&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_default</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.value&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_comment</span><span style="color: #FF0000; ">'</span><br />
<span style="color: #0000FF; ">FROM</span>&nbsp;syscolumns&nbsp;a<br />
<span style="color: #FF00FF; ">left</span>&nbsp;<span style="color: #0000FF; ">join</span>&nbsp;systypes&nbsp;b&nbsp;<span style="color: #0000FF; ">on</span>&nbsp;a.xusertype<span style="color: #808080; ">=</span>b.xusertype<br />
<span style="color: #FF00FF; ">left</span>&nbsp;<span style="color: #0000FF; ">join</span>&nbsp;sysobjects&nbsp;d&nbsp;<span style="color: #0000FF; ">on</span>&nbsp;a.id<span style="color: #808080; ">=</span>d.id&nbsp;<span style="color: #808080; ">and</span>&nbsp;d.xtype<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">U</span><span style="color: #FF0000; ">'</span><br />
<span style="color: #FF00FF; ">left</span>&nbsp;<span style="color: #0000FF; ">join</span>&nbsp;syscomments&nbsp;e&nbsp;<span style="color: #0000FF; ">on</span>&nbsp;a.cdefault<span style="color: #808080; ">=</span>e.id<br />
<span style="color: #FF00FF; ">left</span>&nbsp;<span style="color: #0000FF; ">join</span>&nbsp;sys.extended_properties&nbsp;g&nbsp;<span style="color: #0000FF; ">on</span>&nbsp;a.id<span style="color: #808080; ">=</span>g.major_id&nbsp;<span style="color: #808080; ">and</span>&nbsp;a.colid<span style="color: #808080; ">=</span>g.minor_id<br />
<span style="color: #0000FF; ">where</span>&nbsp;d.name<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Role</span><span style="color: #FF0000; ">'</span><br />
<span style="color: #0000FF; ">order</span>&nbsp;<span style="color: #0000FF; ">by</span>&nbsp;a.id,&nbsp;a.colorder</div>
查询结果示例如下：<br />
<table border="1" cellpadding="0" cellspacing="0" width="1075" height="96" style="border-collapse:collapse;width:645.02pt;">
     <colgroup><col width="117" style="width:70.20pt;"> <col width="97" style="width:58.20pt;"> <col width="117" style="width:70.20pt;"> <col width="107" style="width:64.20pt;"> <col width="117" style="width:70.20pt;"> <col width="137" style="width:82.20pt;"> <col width="87" style="width:52.20pt;"> <col width="148" style="width:88.80pt;" span="2"> </colgroup>
     <tbody>
         <tr height="24" style="height:14.40pt;">
             <td height="24" width="117" x:str="" style="height:14.40pt;width:70.20pt;">column_name</td>
             <td width="97" x:str="" style="width:58.20pt;">data_type</td>
             <td width="117" x:str="" style="width:70.20pt;">data_length</td>
             <td width="107" x:str="" style="width:64.20pt;">data_scale</td>
             <td width="117" x:str="" style="width:70.20pt;">primary_key</td>
             <td width="137" x:str="" style="width:82.20pt;">autoincrement</td>
             <td width="87" x:str="" style="width:52.20pt;">nullable</td>
             <td width="148" x:str="" style="width:88.80pt;">column_default</td>
             <td width="148" x:str="" style="width:88.80pt;">column_comment</td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height:14.40pt;">id</td>
             <td x:str="">int</td>
             <td x:num="10" align="right">10</td>
             <td x:num="0" align="right">0</td>
             <td x:num="1" align="right">1</td>
             <td x:num="1" align="right">1</td>
             <td x:num="0" align="right">0</td>
             <td></td>
             <td></td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height:14.40pt;">name</td>
             <td x:str="">nvarchar</td>
             <td x:num="50" align="right">50</td>
             <td></td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td></td>
             <td x:str="">名称</td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height:14.40pt;">description</td>
             <td x:str="">nvarchar</td>
             <td x:num="300" align="right">300</td>
             <td></td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td x:num="1" align="right">1</td>
             <td></td>
             <td x:str="">描述</td>
         </tr>
     </tbody>
</table>
<br />
MySQL(version 5.7)读取数据库中的表信息<br />
<div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">SELECT</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;TABLE_NAME&nbsp;<span style="color: #0000FF; ">AS</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">table_name</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;TABLE_ROWS&nbsp;<span style="color: #0000FF; ">AS</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">table_rows</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;CREATE_TIME&nbsp;<span style="color: #0000FF; ">AS</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">create_time</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;UPDATE_TIME&nbsp;<span style="color: #0000FF; ">AS</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">update_time</span><span style="color: #FF0000; ">'</span><br />
<span style="color: #0000FF; ">FROM</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;information_schema.TABLES<br />
<span style="color: #0000FF; ">WHERE</span>&nbsp;TABLE_SCHEMA&nbsp;<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">test</span><span style="color: #FF0000; ">'</span></div>
其中TABLE_SCHEMA是数据库名。<br />
查询结果示例如下：<br />
<table border="1" cellpadding="0" cellspacing="0" width="677" height="48" style="border-collapse:collapse;width:406.23pt;">
     <colgroup><col width="108" style="width:64.80pt;"> <col width="107" style="width:64.20pt;"> <col width="219" style="width:131.40pt;"> <col width="243" style="width:145.80pt;"> </colgroup>
     <tbody>
         <tr height="24" style="height:14.40pt;">
             <td height="24" width="108" x:str="" style="height:14.40pt;width:64.80pt;">table_name</td>
             <td width="107" x:str="" style="width:64.20pt;">table_rows</td>
             <td width="219" x:str="" style="width:131.40pt;">create_time</td>
             <td width="243" x:str="" style="width:145.80pt;">update_time</td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height: 14.4pt;">goods</td>
             <td x:num="5" align="right">5</td>
             <td x:num="43845.7158101852" align="right">2020/1/15 17:10</td>
             <td x:num="43845.7158101852" align="right">2020/1/15 17:10</td>
         </tr>
     </tbody>
</table>
其中update_time是表结构的更新时间，而不是表数据的更新时间，而且我测试下来create_time也会跟着变化不知为何。<br />
<br />
MySQL(version 5.7)读取表中的列信息
<div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">SELECT</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;COLUMN_NAME&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_name</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;DATA_TYPE&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">data_type</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;IFNULL(CHARACTER_MAXIMUM_LENGTH,&nbsp;NUMERIC_PRECISION)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">data_length</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;NUMERIC_SCALE&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">data_scale</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;COLUMN_TYPE&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_type</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">IF</span>(COLUMN_KEY<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">PRI</span><span style="color: #FF0000; ">'</span>,&nbsp;<span style="color: #800000; font-weight: bold; ">1</span>,&nbsp;<span style="color: #800000; font-weight: bold; ">0</span>)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">primary_key</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">IF</span>(EXTRA<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">auto_increment</span><span style="color: #FF0000; ">'</span>,&nbsp;<span style="color: #800000; font-weight: bold; ">1</span>,&nbsp;<span style="color: #800000; font-weight: bold; ">0</span>)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">autoincrement</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">IF</span>(IS_NULLABLE<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">YES</span><span style="color: #FF0000; ">'</span>,&nbsp;<span style="color: #800000; font-weight: bold; ">1</span>,&nbsp;<span style="color: #800000; font-weight: bold; ">0</span>)&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">nullable</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;COLUMN_DEFAULT&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_default</span><span style="color: #FF0000; ">'</span>,<br />
&nbsp;&nbsp;&nbsp;&nbsp;COLUMN_COMMENT&nbsp;<span style="color: #0000FF; ">as</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">column_comment</span><span style="color: #FF0000; ">'</span><br />
<span style="color: #0000FF; ">FROM</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;information_schema.COLUMNS<br />
<span style="color: #0000FF; ">WHERE</span>&nbsp;TABLE_SCHEMA&nbsp;<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">test</span><span style="color: #FF0000; ">'</span>&nbsp;<span style="color: #808080; ">and</span>&nbsp;TABLE_NAME&nbsp;<span style="color: #808080; ">=</span>&nbsp;<span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">goods</span><span style="color: #ff0000;">'</span></div>
其中TABLE_SCHEMA是数据库名，TABLE_NAME是表名。<br />
查询结果示例如下：<br />
<table border="1" cellpadding="0" cellspacing="0" width="1212" height="96" style="border-collapse:collapse;width:727.22pt;">
     <colgroup><col width="117" style="width:70.20pt;"> <col width="97" style="width:58.20pt;"> <col width="117" style="width:70.20pt;"> <col width="107" style="width:64.20pt;"> <col width="137" style="width:82.20pt;"> <col width="117" style="width:70.20pt;"> <col width="137" style="width:82.20pt;"> <col width="87" style="width:52.20pt;"> <col width="148" style="width:88.80pt;" span="2"> </colgroup>
     <tbody>
         <tr height="24" style="height:14.40pt;">
             <td height="24" width="117" x:str="" style="height:14.40pt;width:70.20pt;">column_name</td>
             <td width="97" x:str="" style="width:58.20pt;">data_type</td>
             <td width="117" x:str="" style="width:70.20pt;">data_length</td>
             <td width="107" x:str="" style="width:64.20pt;">data_scale</td>
             <td width="137" x:str="" style="width:82.20pt;">column_type</td>
             <td width="117" x:str="" style="width:70.20pt;">primary_key</td>
             <td width="137" x:str="" style="width:82.20pt;">autoincrement</td>
             <td width="87" x:str="" style="width:52.20pt;">nullable</td>
             <td width="148" x:str="" style="width:88.80pt;">column_default</td>
             <td width="148" x:str="" style="width:88.80pt;">column_comment</td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height:14.40pt;">id</td>
             <td x:str="">int</td>
             <td x:num="10" align="right">10</td>
             <td x:num="0" align="right">0</td>
             <td x:str="">int(11)</td>
             <td x:num="1" align="right">1</td>
             <td x:num="1" align="right">1</td>
             <td x:num="0" align="right">0</td>
             <td></td>
             <td></td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height:14.40pt;">name</td>
             <td x:str="">varchar</td>
             <td x:num="100" align="right">100</td>
             <td></td>
             <td x:str="">varchar(100)</td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td x:num="1" align="right">1</td>
             <td></td>
             <td x:str="">名称</td>
         </tr>
         <tr height="24" style="height:14.40pt;">
             <td height="24" x:str="" style="height:14.40pt;">price</td>
             <td x:str="">decimal</td>
             <td x:num="18" align="right">18</td>
             <td x:num="2" align="right">2</td>
             <td x:str="">decimal(18,2)</td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td x:num="0" align="right">0</td>
             <td x:str="">价格</td>
         </tr>
     </tbody>
</table><img src ="http://www.cnitblog.com/luckydmz/aggbug/92019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2020-01-15 17:04 <a href="http://www.cnitblog.com/luckydmz/archive/2020/01/15/92019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python SQLAlchemy的ORM模块用例，多数据库连接封装 </title><link>http://www.cnitblog.com/luckydmz/archive/2020/01/07/92009.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Tue, 07 Jan 2020 03:05:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2020/01/07/92009.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/92009.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2020/01/07/92009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/92009.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/92009.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: db.pyCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#&nbsp;-*-&nbsp;coding:&nbsp;utf-8&nbsp;-*-from&nbsp;sqlalchemy&nbsp;import&nbsp;Table,&nbsp;Colu...&nbsp;&nbsp;<a href='http://www.cnitblog.com/luckydmz/archive/2020/01/07/92009.html'>阅读全文</a><img src ="http://www.cnitblog.com/luckydmz/aggbug/92009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2020-01-07 11:05 <a href="http://www.cnitblog.com/luckydmz/archive/2020/01/07/92009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>给SELECT结果自动生成行号 (SQL Server)</title><link>http://www.cnitblog.com/luckydmz/archive/2019/06/04/91461.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Tue, 04 Jun 2019 03:32:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2019/06/04/91461.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/91461.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2019/06/04/91461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/91461.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/91461.html</trackback:ping><description><![CDATA[比如下面语句查询学生的 学号，姓名，年龄，按照年龄从小到大排序，年龄相同时按照学号从小到大排序
<div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">select</span>&nbsp;no,&nbsp;name,&nbsp;age&nbsp;<span style="color: #0000FF; ">from</span>&nbsp;Student<br />
<span style="color: #0000FF; ">order</span>&nbsp;<span style="color: #0000FF; ">by</span>&nbsp;age&nbsp;<span style="color: #0000FF; ">asc</span>,&nbsp;no&nbsp;<span style="color: #0000ff;">asc</span></div>
<br />
如果想给查询结果的每行前面加上一个从1开始的自然数编号，可以使用
<div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><span style="color: #0000ff;">select</span>&nbsp;ROW_NUMBER()&nbsp;<span style="color: #0000ff;">OVER</span>&nbsp;(<span style="color: #0000ff;">order</span>&nbsp;<span style="color: #0000ff;">by</span>&nbsp;age&nbsp;<span style="color: #0000ff;">asc</span>,&nbsp;no&nbsp;<span style="color: #0000ff;">asc</span>),&nbsp;no,&nbsp;name,&nbsp;age&nbsp;<span style="color: #0000ff;">from</span>&nbsp;Student<br />
<span style="color: #0000FF; ">order</span>&nbsp;<span style="color: #0000FF; ">by</span>&nbsp;age&nbsp;<span style="color: #0000FF; ">asc</span>,&nbsp;no&nbsp;<span style="color: #0000ff;">asc</span></div>
增加的部分<br /><div style="background-color: #eeeeee; font-size: 13px; border-color: #cccccc; border-image: initial; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->ROW_NUMBER()&nbsp;<span style="color: #0000FF; ">OVER</span>&nbsp;(<span style="color: #0000FF; ">order</span>&nbsp;<span style="color: #0000FF; ">by</span>&nbsp;age&nbsp;<span style="color: #0000FF; ">asc</span>,&nbsp;no&nbsp;<span style="color: #0000FF; ">asc</span>)</div>注意OVER后面的order by的内容和查询语句的order by是一致的，这样查询结果就是从1递增进行编号，事实上也可以不一致，这里的order by就是指定按照何种顺序生成这列值<br /><br />更详细的用法参考<br />https://docs.microsoft.com/en-us/sql/t-sql/functions/row-number-transact-sql?view=sql-server-2017<img src ="http://www.cnitblog.com/luckydmz/aggbug/91461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2019-06-04 11:32 <a href="http://www.cnitblog.com/luckydmz/archive/2019/06/04/91461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL Server2005还原失败，数据库在使用中(database is in use) 的解决方案</title><link>http://www.cnitblog.com/luckydmz/archive/2016/01/22/90351.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Fri, 22 Jan 2016 02:43:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/01/22/90351.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90351.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/01/22/90351.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90351.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90351.html</trackback:ping><description><![CDATA[<div>打开SSMS，New Query执行以下语句<br />获取要还原的数据库的进程<br />select * from sys.sysprocesses a where a.dbid in (select dbid from master..sysdatabases where name = '&lt;数据库名&gt;')<br />逐个杀掉列出的进程<br />kill &lt;spid&gt;<br /><br />参考：http://my.oschina.net/Kenyon/blog/53970</div><img src ="http://www.cnitblog.com/luckydmz/aggbug/90351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-01-22 10:43 <a href="http://www.cnitblog.com/luckydmz/archive/2016/01/22/90351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]SQL Server中作业无法删除的解决办法</title><link>http://www.cnitblog.com/luckydmz/archive/2016/01/09/90340.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Sat, 09 Jan 2016 11:24:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/01/09/90340.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90340.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/01/09/90340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90340.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90340.html</trackback:ping><description><![CDATA[<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">use</span><span style="color: #000000; ">&nbsp;</span><span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">msdb</span><span style="color: #FF0000; ">]</span><span style="color: #000000; "><br />
</span><span style="color: #0000FF; ">declare</span><span style="color: #000000; ">&nbsp;</span><span style="color: #008000; ">@job_name</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-weight: bold; ">varchar</span><span style="color: #000000; ">(</span><span style="color: #800000; font-weight: bold; ">100</span><span style="color: #000000; ">)<br />
</span><span style="color: #0000FF; ">set</span><span style="color: #000000; ">&nbsp;</span><span style="color: #008000; ">@job_name</span><span style="color: #000000; ">&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">&nbsp;N</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">jobName</span><span style="color: #FF0000; ">'</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">--</span><span style="color: #008080; ">注：jobName为维护计划对应的jobName</span><span style="color: #008080; "><br />
--</span><span style="color: #008080; ">删除在计划里面的日志&nbsp;</span><span style="color: #008080; "><br />
</span><span style="color: #0000FF; ">delete</span><span style="color: #000000; ">&nbsp;sysmaintplan_log&nbsp;</span><span style="color: #0000FF; ">from</span><span style="color: #000000; ">&nbsp;sysmaintplan_subplans&nbsp;</span><span style="color: #0000FF; ">as</span><span style="color: #000000; ">&nbsp;subplans<br />
</span><span style="color: #0000FF; ">inner</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">join</span><span style="color: #000000; ">&nbsp;sysjobs_view&nbsp;</span><span style="color: #0000FF; ">as</span><span style="color: #000000; ">&nbsp;syjobs&nbsp;</span><span style="color: #0000FF; ">on</span><span style="color: #000000; ">&nbsp;subplans.job_id&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">&nbsp;syjobs.job_id<br />
</span><span style="color: #0000FF; ">inner</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">join</span><span style="color: #000000; ">&nbsp;sysmaintplan_log&nbsp;</span><span style="color: #0000FF; ">on</span><span style="color: #000000; ">&nbsp;subplans.subplan_id&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">sysmaintplan_log.subplan_id<br />
</span><span style="color: #0000FF; ">where</span><span style="color: #000000; ">&nbsp;(syjobs.name&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #008000; ">@job_name</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">--</span><span style="color: #008080; ">删除代理的作业</span><span style="color: #008080; "><br />
</span><span style="color: #0000FF; ">delete</span><span style="color: #000000; ">&nbsp;sysjobschedules&nbsp;</span><span style="color: #0000FF; ">from</span><span style="color: #000000; ">&nbsp;sysjobs_view&nbsp;v<br />
</span><span style="color: #0000FF; ">inner</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">join</span><span style="color: #000000; ">&nbsp;sysjobschedules&nbsp;o&nbsp;</span><span style="color: #0000FF; ">on</span><span style="color: #000000; ">&nbsp;v.job_id</span><span style="color: #808080; ">=</span><span style="color: #000000; ">o.job_id&nbsp;</span><span style="color: #0000FF; ">where</span><span style="color: #000000; ">&nbsp;v.name</span><span style="color: #808080; ">=</span><span style="color: #008000; ">@job_name</span><span style="color: #000000; "><br />
</span><span style="color: #008080; ">--</span><span style="color: #008080; ">删除子计划</span><span style="color: #008080; "><br />
</span><span style="color: #0000FF; ">delete</span><span style="color: #000000; ">&nbsp;sysmaintplan_subplans&nbsp;</span><span style="color: #0000FF; ">from</span><span style="color: #000000; ">&nbsp;sysmaintplan_subplans&nbsp;</span><span style="color: #0000FF; ">as</span><span style="color: #000000; ">&nbsp;subplans<br />
</span><span style="color: #0000FF; ">inner</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">join</span><span style="color: #000000; ">&nbsp;sysjobs_view&nbsp;</span><span style="color: #0000FF; ">as</span><span style="color: #000000; ">&nbsp;syjobs&nbsp;</span><span style="color: #0000FF; ">on</span><span style="color: #000000; ">&nbsp;subplans.job_id&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">&nbsp;syjobs.job_id<br />
</span><span style="color: #0000FF; ">where</span><span style="color: #000000; ">&nbsp;(syjobs.name&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #008000; ">@job_name</span><span style="color: #000000; ">)<br />
</span><span style="color: #008080; ">--</span><span style="color: #008080; ">删除作业</span><span style="color: #008080; "><br />
</span><span style="color: #0000FF; ">delete</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">from</span><span style="color: #000000; ">&nbsp;msdb.dbo.sysjobs_view&nbsp;</span><span style="color: #0000FF; ">where</span><span style="color: #000000; ">&nbsp;name&nbsp;</span><span style="color: #808080; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #008000; ">@job_name</span></div>
<div>转自：http://www.cnblogs.com/EleMMent/p/3625455.html</div><img src ="http://www.cnitblog.com/luckydmz/aggbug/90340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-01-09 19:24 <a href="http://www.cnitblog.com/luckydmz/archive/2016/01/09/90340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL SERVER 2005 删除sa账户默认数据库后无法正常使用SSMS的解决方案</title><link>http://www.cnitblog.com/luckydmz/archive/2016/01/08/90338.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Fri, 08 Jan 2016 08:40:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/01/08/90338.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90338.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/01/08/90338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90338.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90338.html</trackback:ping><description><![CDATA[<div>在 Microsoft SQL Server Managerment Studio（简称SSMS）的Security-Logins菜单下可以修改指定用户的密码和默认数据库。<br />如果把数据库改成了master以外的其他数据库，并且在之后将其删除，那么之后使用SSMS的时候会各种报错，而且在SSMS上也无法将默认数据库改回master了，一种修正方案是通过命令行版的数据库管理工具osql重新制定sa账号的默认数据库，<br /><br />命令如下<br />osql /U"sa" /P"password" /d"master" /Q"exec sp_defaultdb N'sa', N'master'" /S"127.0.0.1"<br /><br />这个命令可以登录数据库<br />osql /U"sa" /P"password" /d"master" /S"127.0.0.1"<br />登录之后执行这个设置sa账号的默认数据库<br />exec sp_defaultdb N'sa', N'master'<br />效果是一样的。</div><img src ="http://www.cnitblog.com/luckydmz/aggbug/90338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-01-08 16:40 <a href="http://www.cnitblog.com/luckydmz/archive/2016/01/08/90338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>