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. odoo开发笔记 -- 日常开发注意点小节

    onchange depends区别 视图字段增加readonly属性

  2. xamarin 安卓输出中文错误 乱码解决

    在编译设置附加参数 -J-Duser.language=en 这个错误信息是来自javac 编译产生的 而中文乱码问题是 GBK 和UTF8 的问题 解决的办法就是让javac 输出英文错误信息 也可 ...

  3. ElasticSearch入门2: 基本用法

    基本用法:  一.索引创建 (启动集群和索引请看上一篇文章:http://www.cnblogs.com/liuxiaoming123/p/8081883.html) 1.打开浏览器,输入请求:htt ...

  4. MongoDB作为windows服务来安装

    首先区官网下载对应版本的安装文件,我本地的环境是win7 bit64 我下载的版本是:mongodb-win32-x86_64-2.4.6 ok, 文件下载后,开始安装,这里要说一下,如果直接启动Mo ...

  5. Json.Net 在.Net Core 2.0 中序列化DataSet 问题

    使用Asp.Net Core中自带的版本10.0.1 生成一个简单的DataSet DataSet ds2 = new DataSet(); DataTable table = new DataTab ...

  6. tabs高度自适应方法

    1.去掉easyui-tabs类属性,改为id=tabs 2.用js控制高度

  7. Linux宝塔软件安装

    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && ...

  8. ActiveMQ——activemq的报错见解javax.jms.JMSException: Software caused connection abort: recv failed

    activeMQ出现javax.jms.JMSException: Software caused connection abort: recv failed的问题解决 一直找不到原因,原来是在本地的 ...

  9. C++关于vector、queue、stack、priority_queue的元素访问

    vector.queue.stack.priority_queue对元素进行元素访问时,返回的是对应元素的引用.

  10. VB.NET的MsgBox

    一.可用按钮(指定消息框显示哪些按钮) MsgBoxStyle.OkOnly = vbOKOnly = 0(确定按钮) MsgBoxStyle.OkCancel = vbOKCancel = 1(确定 ...