关系数据库标准语言SQL / 1
SQL语言初步
数据查询语句
数据库更新语句
数据定义语句
数据控制语句
什麽是SQL?
●SQL:Structured query language
●功能:查询、操纵、定义、控制
●特点:1、一体化;
2、两种使用方式,统一的语法结构;
方式一、联机交互使用方式;
方式二、嵌入式。
3、高度非过程化;
4、语言简洁,易学易用。
SQL支持关系数据库三级模式
基本表:独立存在的表。每个基表对应一个存储文件,一个表可带若干索引。
存储文件+索引=内模式
视图:是一个虚表。数据库中仅存视图定义,不存对应的数据。SQL的三级模式
SQL命令的种类
●DDL,数据定义语言
●DML,数据操纵语言
●DQL,数据查询语言
●DCL,数据控制语言
●数据管理命令
●事务性控制命令
DDL,数据定义语言
●用户创建或重新构建数据库的语言
DML,数据操纵语言
●用于在关系数据库对象中操纵数据
INSERT
UPDATE
DELETE
DQL,数据查询语言
●对数据库中的信息寻找和定位
SELECT
DCL,数据控制语言
●用于创建与用户访问相关的对象,也控制着用户的权限分配ALTER PASSWORD改变口令
GRANT为用户授予特权
REVOKE从用户处收回特权
数据管理命令
●审计和分析对数据库的操作,并可分析系统的执行过程START AUDIT
STOP AUDIT
事务性控制命令
●用户管理数据库的事务命令
COMMIT用于保护数据库的事务
ROLLBACK用于撤消数据库的事务
SAVEPOINT创建一组事务中的撤消点
SET TRANSACTION给事务命名
数据库中的表结构
●数据库中的表
●数据和基本数据类型
?数据库中的表
表:字段、记录、列、主键
数据和基本数据类型
●数据是存储在数据库中的信息集合。数据类型用于给特定的数据提供规则。
●基本数据类型包括:
字符串
数字
日期和时间值
字符串
●定长字符串:
CHARACTER(n)
●变长字符串:
CHARACTER VARYING(n)
数字值
●BIT(n)
●BIT VERYING(n)
●DECIMAL(n,n)
●INTEGER
●SMALLINT
●FLOAT(p)
●REAL(s)
●DOUBLE PRECISION(p)
日期和时间值
●DATE(YEAR,MONTH,DAY)
●TIME(HOUR,MINUTE,SECOND)
●INTERVAL
●TIMESTAMP
数据查询语句
●语法:
●SELECT [ * | all | column1,column2 ]
FROM table1 [ ,table2 ]
[ WHERE condition ]
[ GROUP BY column1 ]
[ ORDER BY column2(asc,desc) ]
●例1:SELECT * FROM products_tbl WHERE cost < 5 ●例2:SELECT prod_desc,cost
FROM products_tbl WHERE prod_id = ‘119’●例3:多表查询
SELECT employee_tbl.emp_name,
employee_pay_tbl.position
FROM employee_tbl, employee_pay_tbl
WHERE employee_tbl.emp_id =
employee_pay_tbl.emp_id
SQL中操作符的使用
定义:操作符是保留的字或字符,主要用于比
较和算术运算。
分类:比较操作符,逻辑操作符和算术运算符。
1、比较操作符
包括:=,<>, >, <, <=, >=。
注意比较双方的数据类型。
2、算术运算符
包括:+,-,*,/等。
与数学运算规则一致。
2、逻辑操作符
●IS NULL(是否为空)
●BETWEEN(在某两个值之间)
●IN(一系列值中)
●LIKE(相似值的比较)
●EXITS(是否存在符合条件的数据)
●UNIQUE(是否唯一)
●ALL/ANY(一组数据的所有/其中的任何一个)
●AND/OR(逻辑与/或)
IS NULL / IS NOT NULL
●WHERE salary IS NULL
工资为空值。
●WHERE salary = NULL
工资中含有NULL字符。
●例:
●SELECT emp_id, emp_name
FROM employee_tbl
WHERE emp_phone IS NULL
BETWEEN
●WHERE salary BETWEEN 200 and 300 工资在200到300之间,包括200和300。
IN
●WHERE salary IN (200,300,400)
工资必须是200,300,400之中的值。
LIKE
●使用匹配符将一个值同其相似的值比较。
●匹配符包括:- 代表一个字符。
% 代表多个字符。
●如:
WHERE salary LIKE ‘-00’
查找‘00’作为后两位数的值。
WHERE salary LIKE ‘200%’
查找‘200’作为前三位数的值。
EXISTS
●查询在指定表中是否存在一行符合某种条件的数据。
●WHERE EXISTS
(SELECT employee_id
FROM employee_tbl
WHERE employee_id = ‘3333’)
UNIQUE
●在特定的表中搜索每一行是否唯一。
●WHERE UNIQUE
(SELECT salary
FROM employee_tbl
WHERE employee_id = ‘3333’)
●测试满足条件的工资是否有重复数据。
ALL/ANY
●与某个数据集中所有数据/ 任何一个进行比较。
●WHERE salary > all
(SELECT salary
FROM employee_tbl
WHERE city = ‘INDIAN’)
AND/OR
●AND连接的条件必须都满足。
●OR连接的条件至少满足一个。
●如:SELECT *
FROM products_tbl
WHERE cost > 10 and cost < 30
●如:SELECT *
FROM products_tbl
WHER E prod_id = ‘7725’
or prod_id = ‘2345’
库函数
函数通常是列名或表达式相连系的命令。
1、统计函数
2、字符函数
3、算术函数
1、统计函数
●统计函数:用于提供统计信息,如:累加、总和、平均值。
●主要的统计函数:
●COUNT:统计行数或不为NULL的列数。
●SUM:求和。
●MAX:求最大值。
●MIN:求最小值。
AVG:求平均值。
COUNT
语法:
COUNT[(*)|(DISTINCT|ALL|]COLUMN NAME)
注意:DISTINCT统计唯一的行;
DISTINCT不能用于COUNT(*),只能用
于COUNT(column_name)
举例:
SELECT COUNT(*)
FROM EMPLOYEE_TBL 统计雇员表中所有行数SELECT COUNT(EMP_ID)
FROM EMPLOYEE_TBL 统计所有雇员身份证号SELECT COUNT(DISTINCT SALARY)FROM EMPLOYEE_PAY_TBL 统计唯一行数SUM:仅用于数字类型。
语法:
SUM([DISTINCT] COLUMN NAME)
举例:
SELECT SUM (SALARY)
FROM EMPLOYEE_PAY_TBL计算工资总和SELECT SUM (DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL 计算没有重复工资总和AVG:确定一组数据的平均值
语法:
AVG([DISTINCT] COLUMN NAME)
举例:
SELECT AVG(SALARY)
FROM EMPLOYEE_PAY_TBL计算工资的平均值SELECT AVG(DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL 计算唯一的工资平均值MAX和MIN
语法:
MAX([DISTINCT] COLUMN NAME )
MIN ([DISTINCT] COLUMN NAME )
举例:
SELECT MAX(SALARY)
FROM EMPLOYEE_PAY_TBL 计算最高的工资SELECT MAX(DISTINCT SALARY)
FROM EMPLOYEE_PAY_TBL 计算最高的工资
例:表DTUDENT_TBL
●数学平均值
●总成绩最高值
●语文成绩最低值
●数学成绩总和
●表中的数据行数
1. SELECT AVG(maths)
FROM STUDENT_TBL
2. SELECT MAX(total)
FROM STUDENT_TBL
3. SELECT MIN(comp)
FROM STUDENT_TBL
4. SELECT SUM(maths)
FROM STUDENT_TBL
5. SELECT COUNT(*)
FROM STUDENT_TBL
2、字符函数
●UPPER(character string):将指定字符串中的小写字母换成大写字母。
●LOWER (character string):将指定字符串中的大写字母换成小写字母。
●SUBSTRING (colunm name,startposition,length)从指定字符串中取字符。
例:
SELECT UPPER(CITY)
FROM EMPLOYEE_TBL
SELECT LOWER (CITY)
FROM EMPLOYEE_TBL
SELECT SUBSTRING(EMP_ID,1,3)
FROM EMPLOYEE_TBL
SELECT SUBSTRING(EMP_ID,5,3)
FROM EMPLOYEE_TBL
3、算术函数
●ABS(绝对值)、SIN、COS、TAN、EXP(指数)、SQRT(开方)、POWER(幂)
●语法:函数名(表达式)
●例:SELECT SQRT(MATHS) * 10
FROM STUDENT_TBL
数据库更新语句
●INSERT 给表填充数据
●UPDATE 更新已存在的数据
●DELETE 删除表中的数据INSERT 给表填充数据
●语法:
●INSERT INTO table_name
VALUES(value1,value2,…...)
●例:
products_tbl:prod_id varchar(10)
prod_desc varchar(25)
cost number(6,2)
输入数据:
INSERT INTO products_tbl
VALUES(‘7725’,’LEATHER’,26.99) UPDATE 更新已存在的数据
●语法:
●UPDATE table_name
SET column_name = ‘value’[WHERE condition]
●例:UPDATE products_tbl
SET prod_id = ‘1001’
WHERE prod_desc = ‘coat’DELETE 删除表中的数据
●语法:
●DELETE FROM table_name
[WHERE condition]
●例:DELETE FROM products_tbl
WHERE prod_ID = ‘1001’
SQL数据定义语句
●数据定义功能包括:基表、视图和索引的定义。
一、创建与删除基表
二、创建与删除视图
三、索引的建立与删除
一、创建与删除基表
●创建基表语法:
●CREATE TABLE table_name
(col_name col_properties constraint
……
)
table_name 表名
col_name 列名
●创建临时表:
●CREATE TABLE # table_name
(col_name col_properties constraint
……
)
●删除一张表就是删除一张表定义及其所有与之相关连的数据、索引、触发器、约束和许可。
●语法:
●DROP TABLE databasename.table_name
●例:
●DROP TABLE pubs.dbo.authors2
●修改表结构语法:
●ALTER TABLE table_name
[modify][col_name col_properties]
[add][col_name col_properties]
[drop][col_name col_properties]
●例:ALTER TABLE employee_tbl
modify(emp_id varchar(10))
例:创建一雇员表(编号/C,姓名/C,住所/C,电话/N)。
●CREATE TABLE employee_tbl
(emp_id char(9) not null,
emp_name varchar(40) not null,
emp_city varchar(15) not null,
emp_phone number(10) null)
二、视图
●视图的定义
●视图的查询
●视图的更新
●删除视图
视图的定义
●什么是视图?
视图是存储在数据库中的预先定义好的查询,具有表的外观,可以象表一样对其进行存取,但不占据物理存储空间。
●视图的特点:
视图的存在依赖于生成视图的表;
视图能用作数据库安全的一种形式;
利用视图维护综合数据。
创建视图
●基本语法:
CREATE VIEW view_name AS
SELECT STATEMENT
[WITH CHECK OPTION]
1、从单独的表中创建视图
2、从多表中创建视图
3、从视图中创建视图
1、从单独的表中创建视图
语法:CREATE VIEW view_name AS
SELECT * |COL1[,COL2,…]
FROM table_name
WHERE expression
例:CREATE VIEW emp _ view AS
SELECT emp_id,emp_name,phone
FROM employee_tbl
2、从多表中创建视图
语法:
CREATE VIEW VIEW_NAME AS
SELECT * |COL1[,COL2,….]
FROM TABLE_NAME1,TABLE_NAME2,…
WHERE EXPRESSION
例:
CREATE VIEW employee_summary AS
SELECT
e.emp_id,https://www.doczj.com/doc/f53746776.html,,p.position,p.pay_rate
FROM
employee_tbl e,employee_pay_tbl p
WHERE
e.emp_id = p.emp_id
3、从视图中创建视图
●语法:CREATE VIEW2 AS
SELECT * FROM VIEW1
●注意:不要创建层次太深的视图;
●例:由上例视图employee_summary
CREAT subsummary AS
SELECT *
FROM employee_summary
视图的查询
●对视图的查询与对基本表查询一样;
●系统执行视图查询时是把它转换成等价的对基本表的查询。
●例:
SELECT emp_id, position
FROM employee_summary
WHERE pay_rate > 15
视图的更新
●对视图的更新最终要转换成对基本表的更新。
●视图更新条件:
1、视图必须未涉及连接;
2、视图必须不包含GROUP BY子句;
3、视图不能包含任何组合函数;
4、不能使用DISTINCT子句;
5、WHERE子句不能包含表的嵌套引用。
●例:
UPDATE employee summary
SET pay_rate = 18
WHERE emp_id = 52431875
转换成:
UPDATE employee _pay_tbl
SET pay_rate = 18
WHERE emp_id = 52431875
删除视图
●语法:
DROP VIEW view_name
●例:DROP VIEW employee summary
●删除了视图,由此视图导出的其他视图也将自动被删除
●若导出此视图的基本表被删除了,则此视图也将自动删除
视图的优点
●视图对于数据库的重构造提供了一定程度的逻辑独立性。
●简化了用户观点。
●视图使不同的用户能以不同的方式看待同一数据。
●视图对机密数据提供了自动的安全保护功能。
三、索引的建立与删除
●语法:
CREATE [UNIQUE] [CLUSTER] INDEX index_name ON table_name(clo_name 升/降序,…...)
ASC:升序,DESC:降序
UNIQUE 每一个索引只对应唯一的数据记录;
CLUSTER 聚簇索引,是指索引项的顺序与表中记录的物理顺序一致的索引组织。
四、数据控制语句●授权
●收回权限
MySQL 数据库常用命令简单超级实用版 1、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示。 显示当前mysql版本和当前日期 select version(),current_date; 2、修改mysql中root的密码: shell>mysql -u root -p mysql> update user set password=password(”xueok654123″) where user='root'; mysql> flush privileges //刷新数据库 mysql>use dbname;打开数据库: mysql>show databases; 显示所有数据库 mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后 mysql>describe user; 显示表mysql数据库中user表的列信息); 3、grant 创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令some thing做这个 mysql> grant all privileges on *.* to user@localhost identified by 'something' with 增加新用户
SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表where 字段名=字段值order by 字段名" sql="select * from 数据表where 字段名like ‘%字段值%‘order by 字段名" sql="select top 10 * from 数据表where 字段名order by 字段名" sql="select * from 数据表where 字段名in (‘值1‘,‘值2‘,‘值3‘)" sql="select * from 数据表where 字段名between 值1 and 值2" (2) 更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2 ……字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表(字段1,字段2,字段3 …)valuess (值1,值2,值3 …)" sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum(字段名) as 别名from 数据表where 条件表达式" set rs=conn.excute(sql) 用rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) ……) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称(永久性删除一个数据表) 4. 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 判断所填数据是数字型 if not isNumeric(request("字段名称")) then response.write "不是数字" else response.write "数字" end if -------------------------------------------------------------------------------- simpleli 于2002-03-23 15:08:45 加贴在ASP论坛上
关系数据库标准语言 S Q L练习题 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】
第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”)
如何使用MySQL数据库 一、下载软件: ●下载MySQL数据库压缩安装文件,解压后得到mysql-essential-5.1.36-win32文件 夹,运行安装程序,将其安装到指定位置。 ●要在Java应用中访问MySQL数据库,需要相应的驱动程序。下载驱动程序 mysql-connector-java-5.1.10.zip,在解压后的文件夹根目录中找到资源包 mysql-connector-java-5.1.10-bin.jar。并将其拷贝到Tomcat的安装目录的lib 文件夹下。 二、基本操作 ●使用密码admin进入编辑管理平台,假设要建立数据库testjdbc,数据表user。 ●建立数据库 create database TestJDBC; ●设定当前数据库 use testJDBC ●建立数据表 create table user(username varchar(32),password varchar(32),age int, address varchar(32) ); ●添加数据 insert into user(username, password, age, address) values(‘John’,’ 123456’,18,’Hexi District, Tianjin’) ●显示数据表内容 select * from user; 三、其他常用命令 ●删除数据库 drop database testjdbc; ●显示当前数据库 show databases; ●显示数据表 show tables; ●删除数据表 drop table user; ●显示数据表结构 describe user; 四、MySQL的配置 ● 1.选择向导,进入配置界面
《关系数据库与SQL语言》第一章练习题 一、选择题 1、实体完整性要求主属性不能取空值,这一点通常就是通过(B) A、定义外键来保证 B、定义主键来保证 C、用户定义完整性来保证 D、关系系统自动保证 2、建立在计算机外部设备上的结构化的、有联系的数据集合就是( A)。 A、数据库 B、数据库管理系统 C、数据结构 D、数据文件 3、英文缩写 DBA 就是代表( B)。 A、数据库管理系统 B、数据库管理员 C、数据定义语言 D、数据操纵语言 4、数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为( A)。 A、实体联系图 B、实用概念图 C、实体表示图 D、实物示意图 5、在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,( D)表示实体间联系。 A、圆形框 B、椭圆框 C、箭头 D、菱形框 6、一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间就是 ( C)。 A、一对一的联系 B、一对多的联系 C、多对多的联系 D、多对一的联系 7、两个不同型实体间( B)。 A、只有一种联系 B、可以有多种联系 C、不能有联系 D、只有多对多的联系 8、不就是数据库系统中的数据模型就是( D)。 A、层次模型 B、网状模型 C、关系模型 D、多用户型 9、对于两实体间 m:n 联系,必须对“联系”单独建立( D),用来联系双方实体。 A、一个实体 B、一个属性 C、一个指针 D、一个关系 10、模式的逻辑子集通常称为( C) A .存储模式 B .内模式 C .外模式 D .模式 11、要保证数据库物理数据独立性,需要修改的就是 ( B ) 。 A、模式 B、模式与内模式的映射 C、模式与外模式的映射 D、内模式 12、下列四项中,不属于数据库特点的就是 ( C ) 。 A、数据共享 B、数据完整性 C、数据冗余很高 D、数据独立性高 13、数据库中存储的就是 ( D ) 。 A、数据 B、数据模型 C、数据之间的联系 D、数据以及数据之间的联系 14、表示数据库的概念模型一般使用 ( C) 。 A、用户活动图 B、数据流图 C、 E — R 图 D、流程图 15、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业)的主键为:( B ) A、宿舍编号 B、学号 C、宿舍地址,姓名 D、宿舍编号,学号 16、公司中有多个部门与多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型就是( D ) A、多对多 B、一对一 C、多对一 D、一对多 17、现有如下关系:职工(职工号、姓名、性别、职务),部门(部门编号、部门名称、职工号、姓名、部门地址、电话)其中,部门关系中的外键就是( C ) A、部门编号 B、姓名 C、职工号 D、职工号,姓名
关系数据库标准语言SQL(一) (总分:19.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:7,分数:7.00) 1.在SQL语言中,删除视图的语句是 ______。 (分数:1.00) A.ALTER VIEW B.DROP VIEW √ C.ZAP VIEW D.DELETE VIEW 解析: 2.关系数据库的数据语言是 ______ 的语言,其核心部分为查询,因此又称为查询语言。 (分数:1.00) A.过程化 B.非过程化√ C.宿主 D.系列化 解析: 3.实现“收回用户U4对学生表STUD中学号(XH)的修改权”这一功能的正确SQL语句是 ______。 (分数:1.00) A.REVOKE UPDAE(XON TABLE FROM U4 B.REVOKE UPDAE(XON TABLE STUD FROM PUBLIC C.REVOKE UPDAE(XON TABLE STUD FROM U4 √ D.REVOKE ALL PRIVILEGES ON TABLE FROM U4 解析: 4.在嵌入式SQL中,主语言向SQL语句输入数据,主要用主变量来实现。为了区别字段名,要求主变量名前必须加符号 ______ 作标志。 (分数:1.00) A.;(分号) B.、(顿号) C.+(加号) D.:(冒号) √ 解析: 5.在SQL语言中,CREATE VIEW语句用于建立视图。如果要求对视图更新时,必须满足子查询中的条件表达式,应当在该语句中使用短语 ______。 (分数:1.00) A.WITH UPDATE B.WITH INSERT C.WITH DELETE D.WITH CHECK OPTION √ 解析: 6.为使程序员编程时既可使用数据语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到 ______ 中, (分数:1.00) A.编译程序 B.操作系统 C.中间语言 D.宿主语言√
oracle常用命令 命令解释 $Ps –ef|grep oracle 查看oracle进程是否启动 $ sqlplus "/as sysdba" 以sysdba角色登陆oracle数据库 SQL>startup 显示当前系统中已登录的人员。 SQL>shutdown immediate 关闭数据库 SQL>select * from v$version; 查看oracle数据库版本 SQL>select name from v$database; 查看数据库SID SQL>truncate table table_name 快速清空一个表 SQL>select * from all_users;查看数据库中所有用户 SQL>alter tablespacename offline;将表空间offline SQL> alter tablespacename online ;将表空间online $oerr ora 2236 查错误 alert_{ORACLE_SID}.log 数据库告警日志文件 *.TRC 数据库跟踪文件 Oracle说明 1、数文件:SPFILE不能直接阅读是二进制文件,需要转为文本 2、oracle数据库后,可以查看数据库状态是否open,如果open会显示open字样 SQL> select status, instance_role from v$instance; 3、PFILE:SQL> connect / as sysdba 从spfile创建pfile:SQL> create pfile from spfile; 从pfile创建spfile:CREA TE SPFILE FROM PFILE='/home/oracle/admin/pfile/init.ora'; 4、names是客户端或应用程序需要连接数据库时必须配置的,使用$tnsping service_aliasname可以测试出tns配置的是否正确 5、要文件listener.ora、Tnsnames.ora、Sqlnet.ora,这三个位置在$ORACLE_HOME/network/admin目录下。 6、库启动时要先启动listener Network配置:监听程序lsnrctl
第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下:mysql -u用户名-p用户密码 键入命令mysql -uroot -p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql 的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限on 数据库.* to 用户名@登录主机identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招:操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、显示库中的数据表: use mysql;
SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:
关系数据库与SQL语言(共100分) 一.单项选择题(本大题共20题,每小题2分,共40分) 1.候选码中的属性称为_________。[ ] A.非主属性B.主属性 C.复合属性D.关键属性 2.下列“部门”关系中,因哪个属性而使它不满足第一范式________?[ ] 部门(部门号,部门名,部门成员,部门总经理) A.部门总经理B.部门名 C.部门号D.部门成员 3.DML是_____________。[ ] A.数据定义语言B.数据操纵语言 C.数据控制语言D.数据查询语言 4. 关系模型的数据结构是_______________。[ ] A.表B.树 C.有向图D.网络 5.E-R图是进行概念模型设计的有力工具,它的基本成分包含_______________。[ ] A.数据及流向、加工、原点与终点、文件 B.数据、数据类型、长度、取值范围 C.数据项、数据结构、数据流 D.实体型、属性、联系 6.下列有关视图的说法,哪个是正确的。[ ] A.视图是一基本表的子集 B.视图是另一视图的子集 C.视图是关系模型的外模式 D.视图是由一个或多个基本表导出的虚表 7.在SQL语言中,删除表中数据时,应使用的命令是_______________。[ ] A.DELETE B.UPDATE C.ALTER D.DROP 8. 对关系执行“投影”运算后得到的新关系与原关系[ ] A.相同B.相容 C.元组数相同D.不相容 9.DBMS用于保存所有更新数据库操作的文件是____________。[ ] A.事务日志B.数据库 C.数据字典D.索引 10.在关系对应的二维表中,以下说法________是不正确的。[ ]
创建数据库:[库名] 显示所有数据库: ; 打开数据库[库名] 当前选择地库状态(); 创建数据表[表名]([字段名] [字段类型]([字段要求]) [字段参数], ......); 资料个人收集整理,勿做商业用途 显示数据表字段表名; 当前库数据表结构; 更改表格 [表名] [字段名] 说明:增加一个栏位(没有删除某个栏位地语法. [表名] ([字段名]) 说明:更改表得地定义把某个栏位设为主键. [表名] ([字段名]) 说明:把主键地定义删除. 显示当前表字段; 删库[库名]; 删表[表名]; 数据操作 添加:[表名] ('','',......顺序排列地数据); 查询: * [表名] ([条件]); 建立索引[索引文件名] [表名] ([字段名]); 删除:[表名] ([条件]); 修改:[表名] [修改内容如''] [条件];资料个人收集整理,勿做商业用途 导入外部数据文本: .执行外部地脚本 当前数据库上执行< 指定数据库上执行[表名] < .数据传入命令"[文件名]" [表名]; 资料个人收集整理,勿做商业用途 备份数据库:(下) > 提示:常用命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 一. 增删改查操作 资料个人收集整理,勿做商业用途 . 增: 表名(,'测试'); 注:如上语句,表结构中有自动增长地列,也必须为其指定一个值,通常为 表名() (,'尹当')同上 .删数据: 表名; 表名; 删除结构: 删数据库:数据库名; 删除表:表名;
删除表中地列表名列名; . 改: 修改所有:表名列名'新地值,非数字加单引号' ; 带条件地修改:表名列名'新地值,非数字加单引号' ; .查: 查询所有地数据:* 表名; 带条件地查询: * 表名列名条件值; * 表名列名()'字符值' 分页查询:* 表名每页数量偏移量; 二.操作命令 资料个人收集整理,勿做商业用途 . 查看数据库信息:; .查看表信息:; .查看表地结构:表名 . 新建数据库数据库名; .操作指定数据库数据库名; .新建数据表(先操作库); 表名(规范为表名) ( ,( 为自动增长) 资料个人收集整理,勿做商业用途 () ) 支持事务和设置表地编码 添加主外键: 外表名名称(外列) 主表名(主列) 资料个人收集整理,勿做商业用途 如现有两表主表子表现子表地列引用了主表地列资料个人收集整理,勿做商业用途则命令如下: () () 资料个人收集整理,勿做商业用途 .导出表,备份到一个文件中,如 命令窗口:用户名需要备份地数据库名>备份地文件地保存路径和文件名资料个人收集整理,勿做商业用途 注:如指定地文件不存在,会自动添加一个文件,此命令不能加分号结尾(文件没有备份建数据库操作)资料个人收集整理,勿做商业用途 .导入数据库备份文件: ().在命令窗口 ().新建一个要导入地数据库(因为备份中没有备份建数据库操作) () 当前库名 () 备份地文件地保存路径和文件名(此命令不能加分号结尾) 三:系统操作 资料个人收集整理,勿做商业用途 . 打开服务(为配置时,可自定名称) .关闭服务 .从模式进入 () 用户名回车>输入正确密码>进入欢迎
MYSQL数据库基本操作命令 用户名和密码:123456 创建一个名称为mydb1的数据库。 create database mydb1; 查看所有数据库 show databases; 创建一个使用utf-8字符集的mydb2数据库。 create database mydb2 character set utf8; 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。 create database mydb3 character set utf8 collate utf8_general_ci; 显示库的创建信息 show create database mydb3; 删除前面创建的mydb1数据库 drop database mydb1; 查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312; alter database mydb2 character set gb2312; show create database mydb2; 备份库 1、准备库的数据 create database mydb1; use mydb1; create table test ( id int ); insert into test(id) values(1); select * from test; 2、删除库:drop database mydb1; 3、 4.1 创建库:create database mydb1; 4.2 \. test.sql (通过执行脚本文件实现) 5、
创建一个员工表 use mydb1; 进入库 create table employee ( id int, name varchar(20), gender varchar(4), birthday date, entry_date date, job varchar(40), salary double, resume text )character set utf8 collate utf8_general_ci; 查看库中所有表 show tables; 查看表的创建细节 show create table employee; 查看表的结构 desc employee; 在上面员工表的基本上增加一个image列。 alter table employee add image blob; 修改job列,使其长度为60。 alter table employee modify job varchar(60); 删除sex列。 alter table employee drop gender; 表名改为user。 rename table employee to user; 修改表的字符集 alter table user character set gb2312; show create table user; 列名name修改为username alter table user change column name username varchar(20); 使用insert语句向表中插入一个员工的信息。 insert into employee(id,username,birthday,entry_date,job,salary,resume)
第一章 一、选择题 在下列各题A),B),C),D)四个选项中选择一个正确的。 1,数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是( C )。 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系 2.数据库系统的核心是( B )。 A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员 3.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( D )。 A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对 4.用树形结构表示实体之间联系的模型是( C )。 A)关系模型 B)网状模型 C)层次模型 D)以上三个都是 5.“商品”与“顾客”两个实体集之间联系一般是( D )。 A)一对一 B)一对多 C)多对一 D)多对多 6.在E-R图中,.用来表示实体的图形是( A )。 A)矩形 B)椭圆形 C)菱形 D)三角形 7.在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是( A )。 A)数据定义语言 B)数据转换语言 c)数据操纵语言 D)数据控制语言 8.数据库系统的三级模式结构中,下列不属于三级模式的是( B )。. A)内模式 B)抽象模式 c)外模式 D)概念模式 9.在数据库管理系统提供的语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是( D )。 A)数据定义语言 B)数据转换语言 c)数据操纵语言 D)数据控制语言 10.下面关于数据系统叙述正确的是( B )。 A)数据库系统避免了一切冗余、’ B)数据库系统减少了数据冗余 c)数据库系统比文件能管理更多的数据 D)、数据库系统中数据的一致性是指数据类型的一致 11.下列叙述中,错误的是( C )。 A)数据库技术的根本目标是要解决数据共享的问题 B)数据库设计是指设计一个能满足用户要求,性能良好的数据库 c)数据库系统中,数据的物理结构必须与逻辑结构一致 D)数据库系统是一个独立的系统,但是需要操作系统的支持 12.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是( D )。 A)数据定义语言 B)数据转换语言 c)数据控制语言 D)数据操纵语言
第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”) 10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁C▁▁。
1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据–add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 A:常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname < filename.sql C:使用mysql命令 mysql -u username -p -D dbname < filename.sql 一、启动与退出 1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql> 2、退出MySQL:quit或exit 二、库操作 1、、创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb的数据库 mysql> create database xhkdb;
1.建表: createtable stud01 (xh char(10)primarykey, xm char(10), nl char(10), bj char(10) ) 2.查询 SELECT命令的语法为: SELECT [DISTINCT|ALL] {*|模式名.] {表名|视图名| 快照名] .*…| {表达式[列别名]…} } [, [模式名. ] {表名| 视图名|} .*…| 表达式[列别名] ]… FROM [模式名.] {表名|视图名|快照名} [@数据库链名] [表别名] [, [模式名.] {表名|视图名|快照名} [@数据库链名] [表别名] ]… [WHERE条件] [START WITH条件CONNECT BY 条件] [GROUP BY表达式[,表达式] …[HAVING条件] [UNION|UNION ALL |INTERSECT|MINUS]SELECT命令 [ORDER BY{表达式|位置} [ASC|DESC] [, {表达式|位置[ASC|DESC]}]…] select*from stud01 注:查询条件 Where xh=’’ and xh=’’ And 与,OR 或关系
(1) 查询年纪为12的学生姓名; SELECT https://www.doczj.com/doc/f53746776.html, FROM STUDENT WHERE AGE=12; (2) 查询年纪在12至16岁之间的学生姓名; SELECT https://www.doczj.com/doc/f53746776.html, FROM STUDENT WHERE AGE BETWEEN 12 AND 16; (3) 查询年纪不在12至16岁之间的学生姓名; SELECT https://www.doczj.com/doc/f53746776.html, FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16; (4) 查询所有姓名以A开头的学生的姓名; SELECT https://www.doczj.com/doc/f53746776.html, FROM STUDENT WHERE NAME LIKE 'A%'; (5) 列出所有学生年纪的和,年纪的平均值,最大值,最小值,最大值与最小值之间的差值; SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE); (6) 将所有学生按学号顺序升序排列; SELECT * FROM STUDENT ORDER BY NO DESC; (7) 将所有学生按学号顺序升序排列; SELECT * FROM STUDENT ORDER BY NO ASC; 3.插入数: insert stud01values ('0002','std001','21','计算机') 4.修改 update stud01 set xm='std002' where xh='0002' 5.删除 delete stud01where xh='0003' 6.去除重复的字段值 selectDISTINCT(xh)from stud01 7.统计个数count(*),sum(), select count(*)from stud01where xm='std001' 8. 分组(groupby,HAVING) select xm from stud01where xm='std001' groupby XM HAVING COUNT(*)>3 9.substring Selct substring(bj, 2, 3) from stud01 9.多表查询 学生—课程数据库中包含三个表 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) Student由学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),所在系(Sdept)五个属性组成,其中Sno为主码 课程表:Course(Cno,Cname,Cpno,Ccredit) Course由课程号(Cno),课程名(Cname),选修课号(Cpno),学分(Ccredit)四个属性组成,其中Cno为主码。 学生选课程表:SC(Sno,Cno,Grade) SC由学号(Sno),课程号(Cno),成绩(Grade)三个属性组成,主码 为(Sno,Cno)
关系数据库与SQL语言考试试题(doc 6页)
关系数据库与SQL语言(共100分) A卷 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段。 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 2.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为。 A.数据定义功能 B.数据管理功能 C.数据操纵功能D.数据控制功能 3.下述关于数据库系统的正确叙述是。 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 4.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是。 A.外模式 B.内模式 C.存储模式 D.模式 5.数据库三级模式体系结构的划分,有利于保持数据库的。 A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性 6.关系数据模型。 A.只能表示实体间的1∶1联系 B.只能表示实体间的1∶n联系
C.只能表示实体间的m∶n联系 D.可以表示实体间的上述三种联系 7.实体是信息世界中的术语,与之对应的数据库术语为。 A.文件 B.数据库 C.字段 D.记录 8.关系数据库管理系统应能实现的专门关系运算包括。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 9.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为投影;从表中选出满足某种条件的元组的操作称为选择;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为。 A.选择 B.投影 C.连接 D.扫描 10.设有关系R,按条件f对关系R进行选择,正确的是。 A.R?R B.R ?? R C.σ f (R) D.∏ f (R) 11.SQL语言是的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 12.SQL语言中,实现数据检索的语句是。 A.SELECT B.INSERT C.UPDATE D.DELETE 13.在SQL语言中,对输出结果排序的是_____________。 A、WHERE B、ORDER BY C、GROUP BY D、HAVING 14.在SELECT语句中使用MAX(列名)时,列名____________。 A.必须是数值型 B.必须是字符型 C.必须是数值型或字符型 D.不限制数据类型 15.假定零件关系是P(P#,PNAME,COLOR,WEIGHT),供应商关系是S(S#,SNAME,CITY),供应关系是SP(S#,P#,QUATY)。 要查找提供“螺母”零件的供应商的名字,将涉及到关系。 A.S B.SP,P C.S,SP D.S,P,SP 第16到第18题基于这样的三个表即职工表EMPLOYEE、供应商表SUPPLIER和订