SQL Server数据表的基础知识与增查删改
由张晨辉(学生) 于19天 前发表 | 阅读94次
一、常用数据类型 、整型:bigint、int、smallint、tinyint
、小数:decimal、numeric
、近似数字数据:float、real
、货币数据:money、smallmoney
、日期和时间:datetime、smalldatetime
、字符数据:char、varchar、text
、Unicode字符数据:nchar、nvarchar、ntext
、二进制数据:binary、varbinary、ntext
、其他:timestamp等
、自定义用户类型的创建与删除:sp_addtype {type_name},[base_type] [,[‘NULL’|‘NOT NULL’]] [,’拥有者’]
Sp_droptype type_name
二、选择数据类型的指导原则
、若列的值的长度相差很大,使用变长数据类型
、谨慎使用tinyint数据类型
、对于小数数据来说,多使用decimal数据类型
、若行的存储量超过8000字节,使用text或者image
、若不大于8 000字节,可使用char、varchar或者binary数据类型
、货币数据,使用 money 数据类型
、不要使用类型为 float 或者 real 的列作为主键
三、临时表
、--创建全局临时表
CREATE TABLE ##GlobalTable
(
cola INT
)
、--创建局部临时表
CREATE TABLE #LocationTable
(
cola INT
) 四、表
、创建表
create table sales
(
order_no int not null,
order_date datetime not null,
ship_date datetime not null
)
、修改表
exec sp_rename sales,ssaless
、删除表
drop table sales
、创建计算列的表
CREATE TABLE Sells
(
price money,
number int,
amount as price*number
)
、创建函数列的表
CREATE TABLE TestTable
(
indate as getdate(),
id int,
usename AS USER_NAME()
)
、修改表employee
ALTER TABLE employee
ADD telephone int null, --添加列:电话号码 telephone_no,添加列:字符列email为char
email char() null ALTER TABLE employee --修改列类型:email为varchar
ALTER COLUMN email varchar() null ALTER TABLE employee --修改列空为非空列
ALTER COLUMN email varchar() not null Exec sp_rename ‘架构名.表名.旧字段名 ‘,新字段名,’column’ --修改字段名 ALTER TABLE employee --删除列
DROP COLUMN email 五、约束:约束是一种限制。在列或表的层次设置约束,确保数据符合某种数据完整性规则。
、主键约束
()在创建表时加主键约束
create table customers
(
CustomerNo int identity not null primary key,
CustomerName varchar() not null
)
()在现有表中添加主键
alter table customers
add constraint PK_CustomerNo
Primary key (CustomerNo)
、外键约束
()create table orders
(
OrderID int identity not null primary key,
CustomerNo int not null Foreign key references CUSTOMERS(customerno)
)
()在已存在的表中添加外键
alter table orders
add constraint FK_EmployeeCreatesOrder
Foreign key (customerno) references customers(customerno)
、唯一约束:列上有一个唯一的值。
()创建表时创建唯一约束
create table shippers
(
shipperid int identity not null
primary key ,
phoneno varchar() not null unique
)
()在已存在的表中创建唯一约束
alter table shippers
add constraint AK_ShippersPhoneNo
Unique(phoneno)
、Check约束:Check约束比较好的方面是不限制于一个特定的列。Check约束使用与where子句一样的规则定义。
()添加Check约束
alter table customers
Add constraint cn_customerdateinsystem
Check
(DateInSystem<=GetDate())
()删除Check约束
alter table testtable
drop constraint cn_customerdateinsystem
、Default
()创建默认值
create table shippers
(
shipperid int identity not null primary key,
dateinsystem smalldatetime not null default GetDate()
)
()在已存在的表上加默认值
Alter table customers
Add constraint cn_customerdefaultdateinsystem
Default getdate() for dateinsystem

[SQL]SQL Server数据表的基础知识与增查删改的更多相关文章

  1. SQL Server2016导出数据表数据

    SQL Server2016导出数据表数据 高文龙关注0人评论3914人阅读2017-09-22 08:41:56 SQL Server2016导出数据表数据 我们前面已经介绍了很多关于SQL Ser ...

  2. 《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本

    在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 ...

  3. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

  4. C#向sql server数据表添加数据源代码

    HoverTree解决方案 学习C#.NET,Sql Server,WinForm等的解决方案. 本文链接http://hovertree.com/h/bjaf/0jteg8cv.htm 使用的技术. ...

  5. sql server数据表大小初始化

    sql server表在存储大数据和处理大数据表时,经常会遇到表空间越来越大,有时候会超出应该占有空间大小很多,此时如果表数据是压缩存储的,那么重新执行一下压缩脚本,数据的大小会重新初始化,然后再使用 ...

  6. SQL学习(一)相关基础知识

    RDBMS基础知识 1.数据库是按照数据结构来组织.存储和管理数据的仓库:数据库是一些关联表的集合. 2.数据表是数据的矩阵,在一个数据库中的表看起来像一个简单的电子表格. 3.列:一列包含了相同的数 ...

  7. SQL语句(一)SQL和数据库数据表的创建

    SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...

  8. mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享

    原文地址:http://www.maomao365.com/?p=7335 摘要:    数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql ...

  9. MySQL中关于SQL注入的相关需要的基础知识

    零.绪论: 文章部分整理来源于公司同事,特此鸣谢!!! 一.关于注入点在KEY上的注入: 我们来看一个查询,你的第一个字段是过滤器(filter)第二个字段是查询的关键字,例如查询ip == 1.2. ...

随机推荐

  1. Dubbo超时和重连机制

    dubbo启动时默认有重试机制和超时机制.超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败,重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认为此 ...

  2. dump_stack调用过程【原创】

    dump_stack调用: void dump_stack(void){    dump_backtrace(NULL, NULL);} 继续看: static void dump_backtrace ...

  3. 【C#】1.2 控制台应用程序学习要点

    分类:C#.VS2015 创建日期:2016-06-14 教材:十二五国家级规划教材<C#程序设计及应用教程>(第3版) 一.要点概述 <C#程序设计及应用教程>(第3版)的第 ...

  4. PHP运行方式对比

    文章内容来自以下站点http://www.cnblogs.com/xia520pi/p/3914964.html 关于PHP目前比较常见的五大运行模式: 1.CGI(通用网关接口 / Common G ...

  5. Spark的TorrentBroadcast:实现

    依据Spark 1.4版 序列化和反序列化 前边提到,TorrentBroadcast的关键就在于特殊的序列化和反序列化设置.1.1版的TorrentBroadcast实现了自己的readObject ...

  6. mongodb 安装及,设置账户、主从

    我原来没用过mongodb ,在晚上查了查需要的命令,关于怎么mongodb怎么用,我就不知道了 官方网站: http://www.mongodb.org/ MongoDB 安裝,主从配置一 Mong ...

  7. 最长回文子串(百度笔试题和hdu 3068)

    版权所有.所有权利保留. 欢迎转载,转载时请注明出处: http://blog.csdn.net/xiaofei_it/article/details/17123559 求一个字符串的最长回文子串.注 ...

  8. 【 全干货 】5 分钟带你看懂 Docker !

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者丨唐文广:腾讯工程师,负责无线研发部地图测试. 导语:Docker,近两年才流行起来的超轻量级虚拟机,它可以让你轻松完成持续集成.自动交付 ...

  9. [JOISC2014]ストラップ

    [JOISC2014]ストラップ 题目大意: 有\(n(n\le2000)\)个挂饰,每个挂饰有一个喜悦值\(b_i(|b_i|\le10^6)\),下面有\(b_i(b_i\le10^6)\)个挂钩 ...

  10. iOS中使用block传值

    转自:http://blog.sina.com.cn/s/blog_60b45f230100yiaf.html 用此方法传值可以替代委托了.具体例子: MainView.h #import <U ...