zoukankan      html  css  js  c++  java
  • 自己写的一个SQL的学习的例子

    有点拼凑的意思,主要是熟悉SQL 的一些基本操作:

    /* 删除学生数据库 */
    drop database Students
    
    /* 创建学生数据库 */
    create database Students
    on
    primary
    (
       name = 'Students',
       Filename = 'E:\SQL\Students.mdf',
       size = 100MB,
       maxsize = unlimited,
       filegrowth = 10%
    )
    log on
    (
        name = 'Students_log',
        Filename = 'E:\SQL\Students_log.ldf',
        size = 20MB,
        maxsize = unlimited,
        filegrowth = 10MB
    )
    
    /* 给数据库再增加一个日志文件 */
    alter database Students
    add log file
    (
        name = 'Students_log2',
        Filename = 'E:\SQL\Students_log2.ldf',
        size = 20MB,
        maxsize = 50MB,
        filegrowth = 10%
    )
    
    /* 创建学生表 */
    use Students
    create table XS
    (
        学号 char(6) NOT NULL,
        姓名 char(8) NOT NULL,
        专业名 char(10) NULL,
        性别 bit NOT NULL,
        出生时间 smalldatetime NOT NULL,
        总学分 tinyint NULL,
        备注 text NULL    
    )
    GO
    

    给学号列加一个主键限制

    use Students
    alter table XS
    add constraint PK_TableName primary key(学号)

    其实你也可以在开始创建的时候 定义主键列

    use Students
    create table XS
    (
        学号 char(6) NOT NULL primary key,
        姓名 char(8) NOT NULL,
        专业名 char(10) NULL,
        性别 bit NOT NULL,
        出生时间 smalldatetime NOT NULL,
        总学分 tinyint NULL,
        备注 text NULL    
    )
    GO
    

    如果要给将主键定义为多个组合列构成

    USE Students
    ALTER TABLE XS_KC
    ADD CONSTRAINT PK_AA PRIMARY KEY(学号, 课程号)

    要删除这个表

    drop table XS
    GO

    向table插入数据

    use Students
    insert into XS values('001101', '王林', '计算机', 1, '2/10/1980', 40, NULL)
    insert into XS values('001102', '王平', '计算机', 0, '9/02/1980', 38, NULL)
    insert into XS values('001103', '王燕', '计算机', 0, '10/06/1979', 40, NULL)
    insert into XS values('001104', '韦严平', '计算机', 1, '8/26/1980', 40, NULL)
    insert into XS values('001105', '吴庆红', '计算机', 1, '12/30/1979', 36, NULL)
    insert into XS values('001106', '李方方', '计算机', 1, '11/20/1980', 40, NULL)
    insert into XS values('001107', '李明', '计算机', 1, '5/1/1980', 40, NULL)
    insert into XS values('001108', '林一凡', '计算机', 1, '6/5/1980', 42, NULL)
    insert into XS values('001109', '张强民', '计算机', 1, '8/21/1978', 40, NULL)
    insert into XS values('001110', '张蔚', '计算机', 1, '7/22/1981', 40, NULL)
    insert into XS values('001111', '赵琳', '计算机', 0, '3/18/1980', 40, NULL)
    insert into XS values('001112', '罗琳琳', '计算机', 0, '1/30/1980', 40, NULL)
    GO
    

    SQL里面插入数据都是这样一条一条插入,好像除非数据有规律否则都是这样插入的。

    插入完后,发现数据库里面是这样的

    Untitled

    汉字都变成了问号。

    解决办法可以参考我的另外那个SQL 汉字变问号的文章,修正过来。

    XS 表如下:

    学号    姓名    专业名    性别    出生时间    总学分    备注
    001101    王林    计算机    1    1980-02-10 00:00:00    40    NULL
    001102    王平    计算机    0    1980-09-02 00:00:00    38    NULL
    001103    王燕    计算机    0    1979-10-06 00:00:00    40    NULL
    001104    韦严平    计算机    1    1980-08-26 00:00:00    40    NULL
    001105    吴庆红    计算机    1    1979-12-30 00:00:00    36    NULL
    001106    李方方    计算机    1    1980-11-20 00:00:00    40    NULL
    001107    李明    计算机    1    1980-05-01 00:00:00    40    NULL
    001108    林一凡    计算机    1    1980-06-05 00:00:00    42    NULL
    001109    张强民    计算机    1    1978-08-21 00:00:00    40    NULL
    001110    张蔚    计算机    1    1981-07-22 00:00:00    40    NULL
    001111    赵琳    计算机    0    1980-03-18 00:00:00    40    NULL
    001112    罗琳琳    计算机    0    1980-01-30 00:00:00    40    NULL

     

    删除表的数据, 参考DELETE TABLE 和 TRUNCATE TABLE

     

    更新表的记录

    use Students
    update XS
    set 专业名 = '通信工程',
        备注 = '转专业学习',
        学号 = '001241'
    where 姓名 = '罗琳琳'

    给每个学生总学分加10分

    use Students
    update XS
    set 总学分 = 总学分 + 10

    小实验

    写出T-SQL语句,对产品销售数据库(库名为CPXS)产品表进行如下操作

    1。 插入如下记录

          0001 空调 3000 200

          0203 冰箱 2500 100

          0301 彩电  2800 50

    2。 将产品数据库的产品表中每种商品的价格打8折

    3。 将产品数据库的产品表价格打8折后小于50的商品删除

    先创建那个数据库

    create database CPXS
    on
    primary
    (
        name = 'CPXS',
        filename = 'E:\SQL\CPXS.mdf',
        size = 10MB,
        maxsize = 100MB,
        filegrowth = 10%
    )
    log on
    (
        name = 'CPXS_Log',
        filename = 'E:\SQL\CPXS_log.ldf',
        size = 2MB,
        maxsize = unlimited,
        filegrowth = 1MB
    )

    创建产品表

    use CPXS
    create table CP
    (
        产品编号 char(4),
        产品名称 nvarchar(4),
        价格 smallint,
        库存量 smallint
    )
    go

    (1)

    use CPXS
    insert into XS values('0001','空调','3000','200')
    insert into XS values('0203','冰箱','2500','100')
    insert into XS values('0301','彩电','2800','50')
    GO

    (2)

    use CPXS
    update CP
    set 价格 = 价格*80%
    

    (3)

    use CPXS
    delete from CP where 价格*0.8 < 50
    Go
    
  • 相关阅读:
    Pandas的基础用法
    独热编码处理文本属性
    DataFrame数据输出时因行、列太多显示不全
    pandas中iloc与loc的区别
    “第五空间”智能安全大赛Misc-wp
    Mac 终端$ 与%切换
    01.数据分析介绍
    02.指标数据库设计
    【杭州城市数据大脑规划2018-2022】学习记录
    【京东基于spark的风控系统架构实践和技术细节】学习记录
  • 原文地址:https://www.cnblogs.com/herbert/p/1771444.html
Copyright © 2011-2022 走看看