• SQL SERVER 的操作复习


     一、数据库的创建(SQL语句)CREATE DATABASE A
    ON PRIMARY --主文件组
    (
        NAME='A_data',--逻辑文件名
        --物理文件名
        FILENAME='H:projectA_data.mdf',
        SIZE=5MB,--初始大小
        MAXSIZE=100MB,--最大容量
        FILEGROWTH=15%--增长率
    ),
    FILEGROUP FG   --创建了一个次文件组
    (
        NAME='E_Market2_data',
        FILENAME='H:projectE_Market2_data.ndf',
        SIZE=4MB,
        FILEGROWTH=10%
    )
    LOG ON --日志文件
    (
        NAME='A_log',
        FILENAME='H:projectA_log.ldf',
        SIZE=5MB,
        FILEGROWTH=0--未启用自动增长
    ),
    (
        NAME='A2_log',
        FILENAME='H:projectA2_log.ldf',
        SIZE=3MB,
        FILEGROWTH=10%,
        MAXSIZE=100MB
    )
    GO

     


    数据库文件包括:

    1. 主数据文件(MDF)--可以保存数据库中的所有数据,包括用户对象和系统对象,每个数据库有且只有一个主数据文件。
    2. 辅助数据文件(NDF)--也成次数据文件,用于保存用户数据,比如用户数据表、用户视图,但是不能保存系统数据。
    3. 事务日志文件(LDF)--用于记录操作事务的文件。


      二、数据表的创建

    CREATE TABLE OrderInfo
    (
        OrderId INT IDENTITY(1,1) NOT NULL,--订单编号
        UserId VARCHAR(20) NOT NULL,--外键,引用UserInfo表的主键
        CommodityId INT NOT NULL,--外键,引用商品信息表的主键
        Amount INT NOT NULL,--数量
        PayMoney BIGINT NOT NULL,--付货总金额
        PayWay VARCHAR(50) NOT NULL,--付款方式
        OrderTime DATETIME NOT NULL,--下单日期
        Confirm INT NOT NULL,--是否确认收,1表示确认,0表示没有确认,默认0
        SendGoods INT NOT NULL --是否发货,0没发,1发货,默认0
    )

    类型
             
     文本数据类型
    char 固定长度非unicode字符数据
    varchar 可变长度非unicode字符数据
    nchar 固定长度unicode数据
    nvarchar 可变长度unicode数据
    text 存储文本信息
    ntext 存储可变长度的文本
    日期和时间 datetime  
    数字数据类型 int、smallint、bigint  
    float、real  
    numeric(18,0)  
    货币数据类型 money  
    bit数据类型 bit 存储布尔数据类型

    注:当不确定要创建的表是否已经存在时可以使用if先判断,若存在先删除,这样就不会报错。如:

    IF EXISTS(SELECT * FROM sysobjects WHERE name='OrderInfo')
    DROP TABLE OrderInfo


    三、为表的列添加约束


    对上述创建的表添加约束:

      alter table OrderInfo
      add constraint pk_orderid primary key(orderid),
          constraint fk_userid foreign key(userid) references UserInfo(userid),
          constraint fk_commodityid foreign key(commodityid) references  commodityinfo(commodityid),
          constraint dk_payway default('网上银行')  for payway,
          constraint ck_confirm check(confirm=0 or confirm=1),
          constraint dk_confirm default(0) for confirm,
          constraint  ck_sendgood check(sendgood=1 or sendgood=0),
          constraint dk_sendgood default(0) for sendgood
      go
     

    格式为:alter table 表名
    add constraint 约束名 约束类型 约束列
    注:约束名取名规则推荐:约束类型简写_约束列  (毕竟顾名思义嘛)
    主键约束primary key
    外键约束 foreign key
    唯一约束 unique key
    默认约束 default key
    检查约束 check key

    四、删除数据
    1、delete [from] 表名 [where <条件>]
       1)  没有where 条件时则为删除整张表。
       2) 删除后,再次添加数据时,标识列继续增长,不会从标识种子开始。
    2、truncate table 表名
      1)  删除一整张表的数据,再次加入数据时表示列从标识种子开始。
       2)不能用于删除有外键约束的表,但可以使用delete删除所有数据。

    五、数据导入与导出

    导入:源--excel,目标:数据库表

    碰到的问题:导入时报外部数据库驱动程序的报错
    原因:excel版本不匹配
    解决:重建一个与所选excel版本匹配的excel表格文件。或者改变默认选择的Microsoft Excel 版本,多试试。

    六、删除表  drop table 表名
           聚合函数 max 、min、count、average等
          分组查询 group by

     

     

     

     

     

     

     

                

     

     

  • 相关阅读:
    报错:Message is larger than modules
    报错:常量字符串过长
    C#监控WinCE手机用户操作的程序,并通过usb连接发送到pc监听服务
    .Net Compact Framework coredll.dll API列表
    Oracle任意日期得到该周第一天的日期
    ORACLE查看锁表进程及杀死进程的语句
    客户端js与服务端通过BASE64进行交互
    为什么在powerdesigner成功将表生成到oracle,用sql操作提示表或视图不存在
    gprof的简单实用
    学习笔记fputs与printf
  • 原文地址:https://www.cnblogs.com/WFM1997/p/8485841.html
Copyright © 2020-2023  润新知