博文

SQL Server2017(三)数据查询

二、连接查询若一个查询同时涉及两个以上的表,则称之为连接查询。连接查询是关系数据库中最主要的查询,包括等值连接查询、自然连接查询、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询等。
1.等值与非等值连接查询
例1:等值连接(嵌套循环连接算法)SELECT Student.*,SC.* FROM Student,SC WHERE Student.Sno=SC.Sno; 例2:自然连接(特殊等值连接)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student,SC WHERE Student.Sno=SC.Sno; 例3:复合条件连接查询SELECT Student.Sno,Sname FROM Student,SC WHERE Student.Sno=SC.Sno AND SC.Cno='2' AND SC.Grade>90; 2.自身连接SELECT FIRST.Cno,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno=SECOND.Cno; 3.外连接(保留悬浮元组)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student LEFT OUTER JOIN SC ON(Student.Sno=SC.Sno); 4.多表连接SELECT Student.Sno,Sname,Cname,Grade FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno; 三、嵌套查询1.带有IN谓词的子查询
在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最经常使用的谓词。
例1SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname='刘晨'); 也可以用自身连接来完成 SELECT S1.Sno,S1.Sname,S1.Sdept FROM Student S1,Student…

SQL Server2017(二)数据查询

数据查询请首先导入下面的数据
StudentINSERT INTO Student VALUES('201215121','李勇','男',20,'CS'); INSERT INTO Student VALUES('201215122','刘晨','女',19,'CS'); INSERT INTO Student VALUES('201215123','王敏','女',18,'MA'); INSERT INTO Student VALUES('201215125','张力','男',19,'IS'); CourseINSERT INTO Course VALUES('1','数据库',null,4); INSERT INTO Course VALUES('2','数学',null,2); INSERT INTO Course VALUES('3','信息系统',null,4); INSERT INTO Course VALUES('4','操作系统',null,3); INSERT INTO Course VALUES('5','数据结构',null,4); INSERT INTO Course VALUES('6','数据处理',null,2); INSERT INTO Course VALUES('7','PASCAL语言',null,4); UPDATE Course SET Cpno = 5 WHERE Cno = 1; UPDATE Course SET Cpno = 1 WHERE Cno = 3; UPDATE Course SET Cpno = 6 WHERE Cno = 4; UPDATE Course SET Cpno = 7 WHERE Cno = 5; UPDATE …

SQL Server2017(一)数据定义

一、模式创建(架构创建)1. 为chapter3_3数据库用户DESKTOP-JA47V46创建一个S-T模式use chapter3_3 create schema S-T 在创建模式的同时在此模式下创建基本表
如果创建表格时不指定模式,系统默认创建dbo模式CREATE SCHEMA "TEST" CREATE TABLE TAB1(COL1 SMALLINT,COL2 INT,COL3 CHAR(20),COL4 NUMERIC(10,3),COL5 DECIMAL(5,2)); 2. 删除模式DROP SCHEMA [S-T] 二、 基本表的定义、删除与修改1. 定义基本表CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE,Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20)); CREATE TABLE Course (Cno char(4) PRIMARY KEY, Cname CHAR(40) NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno)); CREATE TABLE SC (Sno CHAR(9), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno) REFERENCES Course(Cno)); 2. 修改基本表ALTER TABLE Student ADD S_entrance DATE; 5. 删除基本表DROP TABLE Student; SQL Server不允许删除外部约束引用的表,要删除此表必须先删除引用外键约束,或者引用表。DROP TABLE SC; DROP TABLE Student; 三、索引的建立、修改、删除1.建立索引CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(C…

SQL数据定义

1.模式的定义与删除1.定义模式
在SQL中模式定义语句如下:
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>; 例1
CREATE SCHEMA "S-T" AUTHORIZATION WANG; 例2
CREATE SCHEMA AUTHORIZATION WANG; 如果没有指定模式名,那么模式名隐含为用户名。
定义模式实际上定义了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如基本表、视图、索引等。
目前,在CREATE SCHEMA 中可以接受CREATE TABLE,CREATE VIEW 和 GRANT 子句。也就是说用户可以在创建模式的同时在这个模式定义中进一步创建基本表、视图,定义授权。即
CREATE SCHEMA <模式名> AUTHORIZATION <用户名> [<表定义子句>|<视图定义子句>|<授权定义子句>];

CREATE SCHEMA "TEST" AUTHORIZATION ZHANG CREATE TABLE TAB1(COL1 SMALLINT,COL2 INT,COL3 CHAR(20),COL4 NUMERIC(10,3),COL5 DECIMAL(5,2)); 2.删除模式
在SQL中删除模式语句如下
DROP SCHEMA <模式名><CASCADE|RESTRICT>;(默认RESTRICT) 例
DROP SCHEMA ZHANG CASCADE; 其中CASCADE和RESTRICT两者必选其一。选择了CASCADE(级联),表示在删除模式的同时把该模式中所有的数据库对象全部删除;选择了RESTRICT(限制),表示如果该模式中已经定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。只有当该模式中没有任何下属的对象时才能执行DROP SCHEMA语句。
2.基本表的定义、删除与修改1.定义基本表
创建了一个模式就建立了一个数据库的命名空间,一个框架。在这个空间中首先要定义的是该模式包含的数据库基本表。
SQL语言使用CREATE TABLE 语句定义基本表 ,其基本格式如下:
CREATE T…

祝福祖国母亲70周年生日快乐!

SQL概述

一、SQL的特点SQL之所以能够为用户和业界所接受并成为国际标准,是因为它是一个综合的、功能极强的同时又简洁易学的语言。SQL集数据查询、数据定义和数据控制功能于一体,其主要特点包括:综合统一高度非过程化面向集合的操作方式以同一种语法结构提供多种使用方式语言简洁,易学易用
(SQL功能极强,由于设计巧妙,语言十分简洁,完成核心功能只用了九个动词)SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE二、SQL的基本概念支持SQL的关系数据库管理系统同样支持关系数据库的三级模式结构,其中外模式包含若干视图和部分基本表,模式包含若干基本表,内模式包含若干存储文件 SQL 视图1 视图2 基本表1 基本表2 <

My SQL启动失败解决办法

一、 dos命令行输入net start mysql报错:
“服务名无效。请键入 NET HELPMSG 2185 以获得更多的帮助。”

这是因为服务名错误,win+r键打开运行窗口,输入services.msc,从中找到mysql,查看mysql的服务名,
我的是MySQL57,此时在dos命令行键入net start MySQL57回车,
可以看到,之前的错误提示不见了,这说明我们服务名输入正确了,但是又出现了新的错误:“发生系统错误 5。拒绝访问。”这是因为我们的权限不够,cmd的权限太低了,
搜索命令行,选择管理员身份运行

此时键入
net start MYSQL57
搞定!服务器正确启动。另外为了方便可以将命令提示符固定到任务栏。

二、 其实根本不用这么麻烦,在开始菜单里找到MySQL 5.7 Command Line Client直接点击运行就搞定了😏。