zoukankan      html  css  js  c++  java
  • 数据库基本掌握 20140902

    一、数据类型

    1.整数数据类型: int(常用,4字节) smallint(2字节) tinyint(微小整数) bigint(8字节)

    2.浮点数据类型: real  float(常用)  decimal(宽度,精度)

    例:129.5(5,1)--值宽度为5,精度为1;宽度是值长度,包含小数点;精度是小数点后值的位数.

    3.逻辑数据类型:  bit (计算机默认"0"为false,"1"为true.)

    4.字符数据类型:

    varchar(常用):8000字节,长度可变.

    char:8000字节,长度固定不变,如输入之内容不足会用空格补齐.适用于像身份证、银行卡号这样固定长度的值使用.

    text:无字节大小限制, 用于存储大量文本数据,但查询检索较慢. 适用于像写博客这样大量文字类型的数据使用.

    nvarchar:4000字节.

    nchar:4000字节.

    5.日期和时间数据类型:

    datetime(常用):最小值--1753 年1 月1 日零时;最大值--9999 年12 月31 日23 时59 分59 秒. 

    smalldatemall :最小值-- 1900 年1 月1 ;日最大值-- 2079 年6 月6 日.

    PS:如输入超出范围值,将会弹出对话框显示"溢出……".

    6.货币数据类型:money (特点:金融涉及到用万元、亿元做单位时,小数点后位数会比较长.)

    7.二进制数据类型: (如需要对列表内容进行保密可选择二进制类型,例:银行卡密码.)

    image(常用,为防止数据不兼容):可存储视频、声音及图片.

    binary:储存范围较小.  

    8.文本和图形数据类型:text  image 

    9.列属性:

    Null:空值.

    Not Null: 不能为空值.

    PS:列属性常规中设置"允许Null值"为"否",即是设置列不能为空值.列数据类型为"int"前提下,在列属性中设置"标识范围"为"是",即设置列为自增长.

    自增长列:按照输入值内容递增,但输入错误报错后会自动默认删除出错列,新建一列.如图:

    1)当Firm列设置为不能为空值时

    2)Firm列中为NULL值时系统则报错,提示不能提交12行中的信息.

    3)将数据修改正确后自增长列则自动生成新一列,报错几次则跳几列,第11行后报错12次生成第23行.

    二、约束. 

    目的:是保持数据库完整性、准确性的一种方法,定义了表列中的数据的限制条件,使数据表现的更准确更完整.

    1. 主关键字约束  Primary Key Constraint  --保证实体完整性

    主键特点:

    1)主键列内容不能重复--如重复两行内容均不可删除,因为计算机不知道要删除相同内容的哪一行(代码输入可删).

    2)主键默认不可有空值

    3)主键列默认自动排序

    4)主键列是表中唯一能区分每一行数据的一列

    5)一个表里只能有一个主键

    6)主键可以由多列组成

    2.外关键字约束   Foreign Key Constraint  --保证引用完整性

    主表与从表的关系:主表的主键约束从表的外键,主表作用是约束从表,从表则是被主表约束.

    新建主表与从表关系图的方法:

    1)右键点击数据库关系图,选择新建数据库关系图,添加表;右键点击从表,选择设计;右键点击外键列,选择关系;在表和列规范后点选"…";选择设置主键表名、主键、外键表名、外键,关系名根据需要填写;点击确定即可生成数据关系图.

    →  → →

      → →

    2)右键点击数据库关系图,选择新建数据库关系图,添加表;主表主键向外表外键拖拽即可出现上图第4、5个表格,设置,即可生成关系图.

     

    3.惟一性约束    Unique Constraint 

    惟一键(候选键):虽不是主键但也同样不允许重复.

    与主键的区别:

    1)惟一键可以为空.

    2)不会自动排序.

    4.检查约束    CheckConstraint  --判断填写值是否满足某个条件.

    5.缺省约束    Default Constraint --如不填写值默认填写什么值.

    三、语法

    1.启动服务器: net start sqlserver

       关闭服务器:net stop sqlserver
    2.新建查询: create database MyDB

    3.创建数据:
    create database MyDB
    on primary
    (
     Name=MyDB,
     FileName="D:MyDB.MDF"
    ),    --创建主数据文件叫MyDB,放在D盘中.
    (
     Name=MyDB1,
     FileName="E:MyDB1.NDF"
    ),   --创建次数据文件叫MyDB1,放在E盘中.
    log on
    (
     Name="MyDB_Log",
     FileName="E:MyDB.Log"
    )    --创建MyDB的日志文件,放在E盘中.

    4.打开数据库
    use MyDB
    use master

    5.修改数据
    alter database MyDB  --修改MyDB数据库
    add file --添加file文件
    (
     Name="MyDB2",   --创建次数据文件叫MyDB1.

     FileName="C:MyDB2.ndf"   --将MyDB次数据文件放在C盘中.
    )

    6.删除数据库

    drop database mydb

    7.查看数据库的信息
    sp_helpdb mydb

    8.重命名数据库
    sp_renamedb  'NewMyDB','MyDB'

    9.创建表
    create table Login
    (
     UserName varchar(20) primary key, --建主键.
     Password varchar(20) not null,  --不能为空值.
     Name varchar(20) unique,  --建惟一键.
     Sex bit default 1,  --建默认约束(缺省约束).
     Birthday datetime check(birthday>'1900-1-1') --建检查约束.
    )

    10.修改表
    alter table Login Add Money float  --添加
    alter table login drop column Money  --删除
    alter table Login alter column Money Real  --修改

    11.删除表
    drop table Login

     
  • 相关阅读:
    react 和 vue 的优缺点总结
    解决js小数求和出现多位小数问题
    同步循环发请求用promise
    hook中ref使用
    只能输入数字和保留三位的小树
    react添加右键点击事件
    redux
    深拷贝和浅拷贝区别及概念
    pointer-events的css属性。使用该属性可以决定是否能穿透绝对定位元素去触发下面元素的某些行为
    React 使用link在url添加参数(url中不可见)
  • 原文地址:https://www.cnblogs.com/DORCASQING/p/3951908.html
Copyright © 2011-2022 走看看