SET @COLUMN_NAME = 'ColumnNameYouWantToAdd'; SET @COLUMN_DATATYPE = 'DataTypeOfColumn'; ------------------------------------------------Code--------------------------------------------------- USE TESTDB; GO --Declare Variables ); ); ); SET @COLUMN_NA…
转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select name from sysobjects where xtype='U' order by name SQL server数据库系统表详解: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 sysc…
一.SQL Server的数据存储结构 SQL Server是一个数据库管理系统,需要以有效方式存储高容量数据.要更好地理解SQL Server处理数据的方式,就需要了解数据的存储结构. 1.文件类型 数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成.一个数据库至少应该包含一个数据文件和一个事务日志文件. 主数据文件:主数据文件包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件(有且只有一个),推荐文件扩展名是.mdf: 次要(辅助)数据文件:除主数据文件…
表的创建 1.创建列(字段):列名+类型 2.设置主键列:能够唯一表示一条数据 3.设置唯一键:设计--索引/键--添加--唯一键(选择列)--确定 唯一键的内容不能重复 4.外键关系:一张表(从表)其中的某列引用另一张表(主表)中主键表 外键关系的目的是数据库更加完整更加安全. FK外键   PK主键 因为存在各种关系,所以SQL Server数据库一般称为关系数据库 设计表: 数据库的三大范式: 1.第一范式:(每一列的原子性) 每一列在某个程序中是不开拆分的最小原子 2.第二范式:(每一列…
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令.  1. DBCC CHECKDB  重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误.   use master declare @databasename varchar(255) set @databasename='需要修复的数据库实体的名称' exec sp_dboption @database…
写在前面的话:在日常的Sql server开发中,经常会用到Identity类型的标识列作为一个表结构的自增长编号.比如文章编号.记录编号等等.自增长的标识很大程度上方便了数据库程序的开发,但有时候这个固执的字段类型也会带来一些麻烦. 1.修改标识列的字段值 有时为了实现某些功能,需要修改类型为identity自增长类型的字段的值,但由于标识列的类型所限,这种操作默认是不允许的.比如目前数据库有5条正常添加的数据,此时删除2条,那么如果再添加数据时,自增长的标识列会自动赋值为6,可这时如果想在插…
  在数据库里面建了一个表,可是由于对SQL SERVER的建表功能不熟悉,不知道把主键设成什么是好,就先设置了个TEXT类型,可是后来朋友们告诉我说,TEXT类型容易让数据文件变得很大,还 是改成一个int型比较好.就打算修改字段类型.可是总是提示不让我修改,那个意思就是说你只能重建这个表.ACCESS都可以让随便修改类型,为啥 SQL SERVER就不行,不信这个邪,还是问问专业测试SQL SERVER的人员吧,问了半天没有反应,看来还是得自己去BAIDU一下,这次搜索很顺利,直接找到了心满…
----------------- [1] use master go sp_configure reconfigure with override go ----------------- [2] where dbid=DB_ID('zc_post') ----------------- [3] dbcc rebuild_log('zc_post','d:\zc_post_log.ldg') ----------------- [4] dbcc checkdb('zc_post') -----…
1.启动SQL SERVER,选择工具—>选项,去掉“ 阻止保存要求重新创建表的更改”前面的勾. 2.选择设计器 3.去掉“阻止保存要求重新创建表的更改”前面的对号,点击OK. 重新启动SQL SERVER就可以了 .…
[缘由] 为了防止数据的冗余,我们会将数据库中表进行拆分,这样就产生了多张表,表与表之间通过主外键关联,但这样又造成了我们查找和修改的困难,如何进行多表之间的查找呢? 我们将一个查询同时设计两个或两个以上的表,称之为连接查询.连接查询是关系数据库中最主要的查询,主要包括内连接.左外连接.右外连接.全外连接等.接下来我们分别来论述每一种连接方式. 首先我有两张表,一张为学生表T_Student,一张为选课信息表T_ChooseCorse表,这两张表中的字段分别如下表: (为了方便说明问题,表中字段…
查看MSSQL数据库每个表占用的空间大小 sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused [[@objname =] 'objname']    [,[@updateusage =] 'updateusage'] 参数[@objname =] 'objname' 是为其请求空间使用信息(保留和已分配的空间)的表名.objname 的数据类型是 nvarchar(776),默认设置为 NU…
exec sp_MSForEachTable @precommand=N' create table ##(id int identity,表名 sysname,字段数 int,记录数 int,保留空间 Nvarchar(10),使用空间 varchar(10),索引使用空间 varchar(10),未用空间 varchar(10))', @command1=N' insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?'' up…
聚合函数 5种函数: 1.max最大值   select max(price) from car where code='c024' 2.min最小值   select * from car where oil= (select min(price) from car) 3.avg平均值    select avg(price) as 平均价格  from car 4.sum求和    select sum (price) from car 5.count数量  select count (*)…
USE My_Database;DECLARE @name varchar(100) DECLARE authors_cursor CURSOR FOR  Select [name]   from sysobjects where xtype='u' order by id OPEN authors_cursor FETCH NEXT FROM authors_cursor  INTO @name WHILE @@FETCH_STATUS = 0 BEGIN DBCC DBREINDEX (@n…
一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法  ? 1 2 3 4 5 6 7 8 IF EXISTS (  SELECT 1 FROM SYSOBJECTS T1  INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID  WHERE T1.NAME='A' AND T2.NAME='C'  )  PRINT '存在'  E…
SQL Server数据库中,如果一个表没有主键,我们该如何查询呢?本文我们主要就介绍了如何查询数据库中没有主键的表名并为其增加主键的方法,希望能够对您有所帮助. 该功能的实现代码如下: declare @tablename sysname ) declare tableNameCursor cursor for select b.name from sysobjects b where xtype='U' and b.name not in (select object_name(a.pare…
一.在要执行的sql server数据库a中执行如下脚本,创建存储过程sp_textcopy /* 将二进制文件导入.导出到数据库相应字段列中 */ CREATE PROCEDURE sp_textcopy( @login varchar (1000),              --用户名 @password varchar (1000),       --密码 @dbname varchar (1000),         --数据库名 @tbname varchar (1000),    …
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都有,也可以说与我一样困惑的有好多人.感谢大神在网上的活跃,我知道了一对一关系存在的必要性. 1.首先就是这种关系出现的场景是什么样子,最好可以举个实际中的需求. 这样的场景有很多,比如:就拿最普通的用户信息来说,数据库中有一个表为user,一个表为user_auth.user表主要存放的字段为用户基…
千万级SQL Server数据库表分区的实现 2010-09-10 13:37 佚名 数据库 字号:T | T 一般在千万级的数据压力下,分区是一种比较好的提升性能方法.本文将介绍SQL Server数据库表分区的实现. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 最近使用SQL SERVER一个的缓存,数据量一天100w的速度增长,同时接受客户查询,速度由于数据量越来越大越来越慢,这里感谢  KillKill 和 邀约, 最近读了一套书不错,感兴趣的同学可以读读…
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名')    print   'exists'   ELSE    print   'not exists'    --判断要创建的表名是否存在IF ESISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[表名]') AND OBJ…
SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个常识,对此不作具体详细阐述.这里主要是提到的RowId引起了一点思考.那么,这个RowId是个什么玩意?能不能更加直观一点来看看RowId的信息?代表什么含义?这个当然也是可以的.Oracle中的表中有一个伪列的概念,就是在查询表的时候加上select rowid,* from Table,会查询出…
上一篇文章简单梳理了一下SQL Server数据库的安装和基本操作,这篇文章主要讲述一下数据库表的管理 一.数据库的创建 有关数据库的创建有两种方式,一种是通过视图创建,第二种就是通过T-SQL语句来创建了,通过视图创建比较简单,下面主要介绍一下T-SQL语句是如何创建数据库的 CREATE DATABASE demo ON --指定主文件属性 ( NAME = ' demo ',--主文件逻辑名称 FILENAME = 'D:\ demo .mdf',--主文件存放在D盘根目录下 SIZE =…
编写python爬虫程序可以在电商.旅游等网站上爬取相关评论数据,这些数据可以用于词云制作.感情词分析.提取关键词等,也可以将爬取下来的数据以自己的方式进行展示.评论数据爬取下来后,就要考虑怎样入库,可以在爬虫程序中编写代码直接入库,也可以将爬取到的数据存到Excel表格中,再将Excel表格导入到数据库中.在将Excel表格导入到SQL Server数据库时可能会出现很多错误,这里要解决的错误是:Text was truncated or one or more characters had…
SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名.表是否可以调整列的顺序,其实可以自主设置,我们建议在安装后设置为禁止. 那么,如果确实需要调整某一列的顺序,我们是怎么操作的呢? 下面,我们就要演示一下怎么取消这种限制.当然,通过取消限制的演示,相信大家也知道了怎么添加限制了. 需求及问题描述 1)测试表 Test001 (2)更新前 (3)例如,需求为调整 SN5 和SN4的序列 点击保存时报错 修改…
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF Core是怎么获取数据库的默认值的.首先我们建立一个.NET Core控制台项目,然后引入EF Core所需的NuGet包. 获取自增列值 我们在SQL Server数据库中建立一个表Person,该表有一个自增列ID为主键: CREATE TABLE [dbo].[Person]( ,) NOT…
Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nvarchar类型, tt nvarchar类型(注意:my_test表中的数据类型必须与Excel中相应字段的类型一致) 2. 我们用SELECT * FROM  OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel  5.0;DatabASE=[Excel表…
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名')    print   'exists'   ELSE    print   'not exists'    --判断要创建的表名是否存在IF ESISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[表名]') AND OBJ…
Expression构建DataTable to Entity 映射委托   1 namespace Echofool.Utility.Common { 2 using System; 3 using System.Collections.Generic; 4 using System.Data; 5 using System.Linq.Expressions; 6 using System.Reflection; 7 using System.Reflection.Emit; 8 9 publ…
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先…
SQL SERVER 数据库表同步复制 笔记 同步复制可运行在不同版本的SQL Server服务之间 环境模拟需要两台数据库192.168.1.1(发布),192.168.1.10(订阅) 1.在发布和订阅机中创建两个相同的账户(如: sqladmin),用户名和密码都一致,隶属于administrator 2.分别建立两个库的别名分别为MY-1-1,MY-1-10, 验证通过 3.在MY-1-1数据库服务器下找到复制--本地发布--右键新建发布 按照界面提示选择待发布的数据库名-->发布类型(…