zoukankan      html  css  js  c++  java
  • SQLServer 学习笔记之超详细基础SQL语句 Part 2

    Sqlserver 学习笔记

    by:授客 QQ1033553122

    -----------------------接Part 1-------------------

    建立如下数据表

    CREATE TABLE std_table1

    (

        学号        INT PRIMARY KEY IDENTITY,

        姓名        CHAR(20) NOT NULL,

        专业方向     VARCHAR(10) NOT NULL,

        系部代码     CHAR(2) NOT NULL,

        备注        VARCHAR(50)

    )

     

    CREATE TABLE 系部

    (

        系部代码 CHAR(6) NOT NULL PRIMARY KEY,

        系部名称 VARCHAR(20) NOT NULL,

        系主任      CHAR(8)

    )

     

    CREATE TABLE 专业

    (

        专业代码 CHAR(4) NOT NULL PRIMARY KEY,

        专业名称 VARCHAR(20) NOT NULL,

        系部名称 CHAR(6) CONSTRAINT fk_wj1 REFERENCES 系部(系部代码) 

    )

    CREATE TABLE 班级

    (

        班级代码 CHAR(9) NOT NULL PRIMARY KEY,

        班级名称 VARCHAR(20),

        专业代码 CHAR(4) CONSTRAINT fk_wj2 REFERENCES 专业(专业代码),

        系部代码 CHAR(6) CONSTRAINT fk_wj3 REFERENCES 系部(系部代码),

        备注    CHAR(50)

    )

     

    CREATE TABLE 学生

    (

        学号    CHAR(12) NOT NULL PRIMARY KEY,

        姓名    CHAR(8) NOT NULL,

        出生年月 datetime,--注意这里只能用小写

        入学日期 datetime,

        班级代码 CHAR(9) CONSTRAINT fk_wj4 REFERENCES 班级(班级代码),

        系部代码 CHAR(6) CONSTRAINT fk_wj5 REFERENCES 系部(系部代码),

        专业代码 CHAR(4) CONSTRAINT fk_wj6 REFERENCES 专业(专业代码)

    )

    SQLServer <wbr>学习笔记之超详细基础SQL语句 <wbr>Part <wbr>2

     

    注意以上表的删除顺序:先学生 再班级 再专业 再系部,,,

    9.数据的添加

    格式:

    INSERT [INTO] 表名 (列名1,列名2,……) VALUES(value1,value2,……)

    9.1vavlues的插入

    示例:

    前提:“学号列为标识增量

    SQLServer <wbr>学习笔记之超详细基础SQL语句 <wbr>Part <wbr>2


    SQLServer <wbr>学习笔记之超详细基础SQL语句 <wbr>Part <wbr>2

    1--往表std_table中添加一条数据[注意:学号设为了增量标识]

    INSERT INTO std_TABLE VALUES('zs', '计算机', '01', '没有')

     

    2--往表std_table中的某些列插入一条数据

    INSERT INTO  std_TABLE(名称, 专业方向, 系部代码)

    VALUES('张三', '数学', '04')

     

    9.1.2values的插入

    --往表std_table中插入一批数据

    INSERT std_TABLE(姓名, 专业方向, 系部代码)

    SELECT 姓名, 专业方向, 系部代码

    FROM std_TABLE

     

    10 数据查询

    10.1--查询表std_table中前10行记录

    SELECT TOP 10 系部代码, 专业方向

    FROM std_table

     

    10.2--查询表std_table前面P的记录结果

    SELECT TOP 50 PERCENT 系部代码, 专业方向

    FROM std_table

     

    10.3--查询表std_table中姓名为k,或者j开头的的所有记录

    SELECT * FROM std_table

    WHERE 姓名 LIKE '[kj]%'

     

    10.4--查询表std_table中姓名不为k,或者j开头的的所有记录

    SELECT * FROM std_table

    --WHERE 姓名 NOT LIKE '[kj]%'

    WHERE 姓名 LIKE '![kj]%'

     

    11.用查询结果新生新表【类比插入INSERT就好理解了】

    格式:SELECT * INTO 新表表名 from 表名

    示例:

    SELECT * INTO new_table FROM std_table

    SELECT * FROM new_table

     

    SELECT * INTO new_table2 FROM std_table

    WHERE 姓名 = 'zs'

    SELECT * FROM new_table2

     

    SELECT 学号, 姓名 INTO new_table1 FROM std_table

    SELECT * FROM new_table1

    SELECT 学号, 姓名, 专业方向, 系部代码, 备注

    FROM std_table

     

    下面的例子会创建一个名为"Persons_Order_Backup" 的新表,其中包含了从 Persons Orders 两个表中取得的信息

    SELECT Persons.LastName,Orders.OrderNo

    INTO Persons_Order_Backup

    FROM Persons

    INNER JOIN Orders

    ON Persons.Id_P=Orders.Id_P

     

    12.把查询结果新生新表,且把新表为临时表(下面#new_table变成了系统数据库下的临时表)

    SELECT * INTO #new_table FROM std_table

    SELECT * FROM #new_table

  • 相关阅读:
    Pycharm中的加载多个项目
    Python中的条件选择和循环语句
    Python中的模块
    python在不同层级目录import模块的方法
    数据结构与算法分析:C语言描述(原书第2版 简体中文版!!!) PDF+源代码+习题答案
    数据结构和算法关系
    二叉树及二叉树的遍历
    栈及其应用
    基础知识- 算法复杂度
    Java 特定规则排序-LeetCode 179 Largest Number
  • 原文地址:https://www.cnblogs.com/shouke/p/10158073.html
Copyright © 2011-2022 走看看