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 ) 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. [转]CSS hack大全&amp;详解

    转自:CSS hack大全&详解 1.什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的, ...

  2. cordova-plugin-unionpay

    https://github.com/Santino-Wu/cordova-plugin-unionpay

  3. JS魔法堂:浏览器模式和文档模式怎么玩?

    一.前言 从IE8开始引入了文档兼容模式的概念,作为开发人员的我们可以在开发人员工具中通过“浏览器模式”和“文档模式”(IE11开始改为“浏览器模式”改成更贴切的“用户代理字符串”)品味一番,它的出现 ...

  4. 测试 Mono 安装

    测试 Mono 安装 为了测试核心编译器(mcs)和运行时(mono),应该创建一个简单的程序并编译它.可以在喜欢的任何文本编辑器中创建程序.这里采用一种快速而简陋的方法创建该文件(虽然没有任何格式化 ...

  5. Android网络编程系列 一 TCP/IP协议族之链路层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 数据链路层有三个目的: 为IP模块发送和 接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RA ...

  6. linux中cat、more、less、tail、head命令

    cat命令功能用于显示整个文件的内容单独使用没有翻页功能因此经常和more命令搭配使用,cat命令还有就是将数个文件合并成一个文件的功能. more命令功能:让画面在显示满一页时暂停,此时可按空格健继 ...

  7. C# 将DataTable一行放入另一个DataTable中

    http://blog.csdn.net/huyu107/article/details/53509171 概述 从一个DataTable中取一行放到另一个DataTable里报错: 该行已经属于另一 ...

  8. 每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!

    anmu 是一个开源的直播平台弹幕接口,使用他没什么基础的你也可以轻松的操作各平台弹幕.使用不到三十行代码,你就可以使用Python基于弹幕进一步开发.支持斗鱼.熊猫.战旗.全民.Bilibili多平 ...

  9. 一个极好的JavaScript学习网址

    JavaScript学习网址:https://javascript.info/ 网址界面如下,内容和排版都非常不错,内容也比较新,不像一些教程已经是好几年前的了.把这个教程浏览一遍,能够解答很多看代码 ...

  10. eclipse default handler IHandler interface &ldquo;the chosen operation is not enabled&rdquo;

    NOTE: These two methods: Tip: Subclass AbstractHandler rather than implementing IHandler. but you ca ...