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
专业(专业代码)

)


注意以上表的删除顺序:先学生

再班级
再专业
再系部,,,

9.数据的添加

格式:

INSERT [INTO]

表名 (列名1,列名2,……)

VALUES(value1,value2,……)

9.1有vavlues的插入

示例:

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

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

INSERT
INTO std_TABLE VALUES('zs',
'计算机',

'01', '没有')

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

INSERT
INTO 
std_TABLE(名称,

专业方向,

系部代码)

VALUES('张三',

'数学',

'04')

9.1.2无values的插入

--往表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

SQLServer 学习笔记之超详细基础SQL语句 Part 2的更多相关文章

  1. SQLServer 学习笔记之超详细基础SQL语句 Part 3

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 2------------------- 13. 使用compute对查 ...

  2. SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 11------------------- 现在,我们希望从 " ...

  3. SQLServer 学习笔记之超详细基础SQL语句 Part 11

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 10------------------- DECLARE @myavg ...

  4. SQLServer 学习笔记之超详细基础SQL语句 Part 10

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 9------------------- 删除约束的语法 ALTER T ...

  5. SQLServer 学习笔记之超详细基础SQL语句 Part 9

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 8------------------- 3 范式的概念 第一范式的目标 ...

  6. SQLServer 学习笔记之超详细基础SQL语句 Part 8

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 7------------------- --触发器str_trigge ...

  7. SQLServer 学习笔记之超详细基础SQL语句 Part 7

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 6------------------- 29 存储过程和触发器 存储过 ...

  8. SQLServer 学习笔记之超详细基础SQL语句 Part 6

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 5------------------- 28 聚合函数 --求平均分 ...

  9. SQLServer 学习笔记之超详细基础SQL语句 Part 5

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 4------------------- 21使用默认 默认(也称默认值 ...

  10. SQLServer 学习笔记之超详细基础SQL语句 Part 4

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 3------------------- 17 带比较运算符的嵌套查询 ...

随机推荐

  1. zookeeper+kafka集群的安装部署

    准备工作 上传 zookeeper-3.4.6.tar.gz.scala-2.11.4.tgz.kafka_2.9.2-0.8.1.1.tgz.slf4j-1.7.6.zip 至/usr/local目 ...

  2. linux使用find和crontab命令定期清理过期文件

    crontab 命令 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具.它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本. crontab 的基本用法 crontab ...

  3. Python -- 多媒体编程 -- 音乐播放

    使用win32库的WMPlayer.OCX开发一个简易的音乐播放器 import sys from PyQt4 import QtGui, QtCore from win32com.client im ...

  4. 计数排序/Counting Sort

    计数排序的算法思想: 对于每一个元素x,只要确定了元素x有多少个比它小的元素,那么就可以知道其最终的位置. 记输入数组为A[n],存放最后排序输出的数组为B[n],提供临时存储空间的中间数组记为C[k ...

  5. 分布式锁的两种实现方式(基于redis和基于zookeeper)

    先来说说什么是分布式锁,简单来说,分布式锁就是在分布式并发场景中,能够实现多节点的代码同步的一种机制.从实现角度来看,主要有两种方式:基于redis的方式和基于zookeeper的方式,下面分别简单介 ...

  6. BVH with SAH (Bounding Volume Hierarchy with Surface Area Heuristic)

      - BVH with SAH (Bounding Volume Hierarchy  with Surface Area Heuristic) -      0. Overview 包围层次盒(B ...

  7. nodejs项目总结

    前几天花了3天时间,搭建.开发了一个包含客户端.cms.server端的项目,也因着以前有php的开发经验,以及sql的设计和应用能力,倒也没遇到什么阻碍.至于项目结构搭建(架构),也是共通的,以模块 ...

  8. list双向链表容器(常用的方法总结)

    特别注意,由于list对象的结点并不要求在一段连续的内存中,所以,对于迭代器,只能通过++或者--的操作将迭代器移动到后继或者前驱结点元素处.而不能对迭代器进行+n或者-n的操作,这点与vector等 ...

  9. Quart2D图形上下文

    学习了下绘制文本图形后,下面学习图形上下文栈. 在Quart 2D绘制简单图形http://www.cnblogs.com/cuiyw/p/4401857.html时,如果绘制不一样属性的内容时,在渲 ...

  10. .33-浅析webpack源码之doResolve事件流(5)

    file => FileExistsPlugin 这个事件流快接近尾声了,接下来是FileExistsPlugin,很奇怪的是在最后才来检验路径文件是否存在. 源码如下: FileExistsP ...