11-sql语句
- 格式:doc
- 大小:15.57 KB
- 文档页数:12
SQL 数据添加语句 - 电脑资料在日常的数据库操作中,经常需要添加新的数据到表中。
在 SQL 中,插入数据可以使用 INSERT INTO 语句。
本文将对 INSERT INTO 语句进行详细讲解,并且提供一些实例操作。
INSERT INTO 语句INSERT INTO 语句用于向数据库表中添加新记录。
语法如下:INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...)其中表名是待添加数据的表名,字段1, 字段2, ...是待添加数据的表中的字段名,值1, 值2, ...是待添加数据的表中的字段对应的值。
注:在 SQL 中,需要用单引号括起来的值是字符串类型,不需要单引号的值可以是整数类型、时间类型等。
示例 1现在有一个名为computer的表,包含以下字段:字段名类型id INT(11)brand VARCHAR(50)model VARCHAR(50)price DECIMAL(10,2)purchase_date DATE我们要向该表中添加一条数据,这是 INSERT INTO 语句的一个实例:INSERT INTO computer (id, brand, model, price, purchase_date)VALUES (1, 'Lenovo', 'IdeaPad', 3999.00, '2021-02-01');这里,我们向computer表中插入一条新记录,id 为 1,品牌为 Lenovo,型号为 IdeaPad,价格为 3999 元,采购日期为 2021 年 2 月 1 日。
示例 2如果我们要在computer表中插入多条记录,可以使用INSERT INTO 语句嵌套,如下所示:INSERT INTO computer (id, brand, model, price, purchase_date)VALUES (2, 'HP', 'EliteBook', 8999.00, '2020-11-11'),(3, 'Dell', 'Inspiron', 5999.00, '2021-04-22'),(4, 'Apple', 'MacBook Air', 7499.00, '2020-12-25');这里,我们向computer表中插入了三条记录,分别是 HP EliteBook、Dell Inspiron 和 Apple MacBook Air。
数据库常用sql语句有哪些数据库常用sql语句有哪些结构化查询语言简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
下面是店铺整理的数据库常用sql语句有哪些,欢迎大家分享。
数据库常用sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') a,(select s#,scorefrom SC where C#='002') bwhere a.score>b.score and a.s#=b.s#;2、查询平均成绩大于60分的同学的学号和平均成绩;select S#,avg(score)from scgroup by S# having avg(score) >60;3、查询所有同学的学号、姓名、选课数、总成绩;select Student.S#,Student.Sname,count(SC.C#),sum(score)from Student left Outer join SC on Student.S#=SC.S#group by Student.S#,Sname4、查询姓“李”的老师的个数;select count(distinct(Tname))from Teacherwhere Tname like '李%';5、查询没学过“叶平”老师课的同学的学号、姓名;select Student.S#,Student.Snamefrom Studentwhere S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平');6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002');7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select S#,Snamefrom Studentwhere S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平'));8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2 from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2<score;9、查询所有课程成绩小于60分的同学的学号、姓名;select S#,Snamefrom Studentwhere S# not in (select Student.S# from Student,SC whereS.S#=SC.S# and score>60);10、查询没有学全所有课的同学的学号、姓名;select Student.S#,Student.Snamefrom Student,SCwhere Student.S#=SC.S# group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course);11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select S#,Sname from Student,SC where Student.S#=SC.S# and C# in select C# from SC where S#='1001';12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;select distinct SC.S#,Snamefrom Student,SCwhere Student.S#=SC.S# and C# in (select C# from SC where S#='001');13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;SC set score=(select avg(SC_2.score)from SC SC_2where SC_2.C#=SC.C# ) from Course,Teacher where Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='叶平');14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select S# from SC where C# in (select C# from SC where S#='1002')group by S# having count(*)=(select count(*) from SC where S#='1002');15、删除学习“叶平”老师课的SC表记录;Delect SCfrom course ,Teacherwhere Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='叶平';16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、2、号课的平均成绩;Insert SC select S#,'002',(Select avg(score)from SC where C#='002') from Student where S# not in (Select S# from SC where C#='002');17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分SELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='004') AS 数据库,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='001') AS 企业管理,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='006') AS 英语,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM SC AS tGROUP BY S#ORDER BY avg(t.score)18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分SELECT L.C# As 课程ID,L.score AS 最高分,R.score AS 最低分FROM SC L ,SC AS RWHERE L.C# = R.C# andL.score = (SELECT MAX(IL.score)FROM SC AS IL,Student AS IMWHERE L.C# = IL.C# and IM.S#=IL.S#GROUP BY IL.C#)ANDR.Score = (SELECT MIN(IR.score)FROM SC AS IRWHERE R.C# = IR.C#GROUP BY IR.C#);19、按各科平均成绩从低到高和及格率的百分数从高到低顺序SELECT t.C# AS 课程号,max(ame)AS 课程名,isnull(AVG(score),0) AS 平均成绩,100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) AS 及格百分数FROM SC T,Coursewhere t.C#=course.C#GROUP BY t.C#ORDER BY 100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) DESC20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0 END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分,100 * SUM(CASE WHEN C# = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数,SUM(CASE WHEN C# = '002' THEN score ELSE 0END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分,100 * SUM(CASE WHEN C# = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END) AS 马克思及格百分数,SUM(CASE WHEN C# = '003' THEN score ELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分,100 * SUM(CASE WHEN C# = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END) AS UML及格百分数,SUM(CASE WHEN C# = '004' THEN score ELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分,100 * SUM(CASE WHEN C# = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END) AS 数据库及格百分数FROM SC21、查询不同老师所教不同课程平均分从高到低显示SELECT max(Z.T#) AS 教师ID,MAX(Z.Tname) AS 教师姓名,C.C# AS 课程ID,MAX(ame) AS 课程名称,AVG(Score) AS 平均成绩FROM SC AS T,Course AS C ,Teacher AS Zwhere T.C#=C.C# and C.T#=Z.T#GROUP BY C.C#ORDER BY AVG(Score) DESC22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩SELECT DISTINCT top 3SC.S# As 学生学号,Student.Sname AS 学生姓名 ,T1.score AS 企业管理,T2.score AS 马克思,T3.score AS UML,T4.score AS 数据库,ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) as 总分FROM Student,SC LEFT JOIN SC AS T1ON SC.S# = T1.S# AND T1.C# = '001'LEFT JOIN SC AS T2ON SC.S# = T2.S# AND T2.C# = '002'LEFT JOIN SC AS T3ON SC.S# = T3.S# AND T3.C# = '003'LEFT JOIN SC AS T4ON SC.S# = T4.S# AND T4.C# = '004'WHERE student.S#=SC.S# andISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)NOT IN(SELECTDISTINCTTOP 15 WITH TIESISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)FROM scLEFT JOIN sc AS T1ON sc.S# = T1.S# AND T1.C# = 'k1'LEFT JOIN sc AS T2ON sc.S# = T2.S# AND T2.C# = 'k2'LEFT JOIN sc AS T3ON sc.S# = T3.S# AND T3.C# = 'k3'LEFT JOIN sc AS T4ON sc.S# = T4.S# AND T4.C# = 'k4'ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) DESC);23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[<60]SELECT SC.C# as 课程ID, Cname as 课程名称,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85],SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70],SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60],SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -] FROM SC,Coursewhere SC.C#=Course.C#GROUP BY SC.C#,Cname;24、查询学生平均成绩及其名次SELECT 1+(SELECT COUNT( distinct 平均成绩)FROM (SELECT S#,AVG(score) AS 平均成绩FROM SCGROUP BY S#) AS T1WHERE 平均成绩 > T2.平均成绩) as 名次,S# as 学生学号,平均成绩FROM (SELECT S#,AVG(score) 平均成绩FROM SCGROUP BY S#) AS T2ORDER BY 平均成绩 desc;25、查询各科成绩前三名的记录:(不考虑成绩并列情况)SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 3 scoreFROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#;26、查询每门课程被选修的学生数select c#,count(S#) from sc group by C#;27、查询出只选修了一门课程的全部学生的学号和姓名select SC.S#,Student.Sname,count(C#) AS 选课数from SC ,Studentwhere SC.S#=Student.S# group by SC.S# ,Student.Sname having count(C#)=1;28、查询男生、女生人数Select count(Ssex) as 男生人数 from Student group by Ssex having Ssex='男';Select count(Ssex) as 女生人数 from Student group by Ssex having Ssex='女';29、查询姓“张”的学生名单SELECT Sname FROM Student WHERE Sname like '张%';30、查询同名同性学生名单,并统计同名人数select Sname,count(*) from Student group by Sname having count(*)>1;;31、1981年出生的学生名单(注:Student表中Sage列的类型是datetime)select Sname, CONVERT(char (11),DATEPART(year,Sage)) asagefrom studentwhere CONVERT(11),DATEPART(year,Sage))='1981';32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列Select C#,Avg(score) from SC group by C# order by Avg(score),C# DESC ;33、查询平均成绩大于85的所有学生的学号、姓名和平均成绩select Sname,SC.S# ,avg(score)from Student,SCwhere Student.S#=SC.S# group by SC.S#,Sname having avg(score)>85;34、查询课程名称为“数据库”,且分数低于60的`学生姓名和分数Select Sname,isnull(score,0)from Student,SC,Coursewhere SC.S#=Student.S# and SC.C#=Course.C# and ame='数据库'and score<60;35、查询所有学生的选课情况;SELECT SC.S#,SC.C#,Sname,CnameFROM SC,Student,Coursewhere SC.S#=Student.S# and SC.C#=Course.C# ;36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;SELECT distinct student.S#,student.Sname,SC.C#,SC.scoreFROM student,ScWHERE SC.score>=70 AND SC.S#=student.S#;37、查询不及格的课程,并按课程号从大到小排列select c# from sc where scor e<60 order by C# ;38、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;select SC.S#,Student.Sname from SC,Student where SC.S#=Student.S# and Score>80 and C#='003';39、求选了课程的学生人数select count(*) from sc;40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩select Student.Sname,scorefrom Student,SC,Course C,Teacherwhere Student.S#=SC.S# and SC.C#=C.C# and C.T#=Teacher.T# and Teacher.Tname='叶平' and SC.score=(select max(score)from SC where C#=C.C# );41、查询各个课程及相应的选修人数select count(*) from sc group by C#;42、查询不同课程成绩相同的学生的学号、课程号、学生成绩select distinct A.S#,B.score from SC A ,SC B whereA.Score=B.Score and A.C# <>B.C# ;43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 scoreFROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#;44、统计每门课程的学生选修人数(超过10人的课程才统计)。
实验SQL数据更新语句一、实验目的本次实验了解SQL Server 2005的启动,熟悉如何使用SSMS和5@1.建立数据库和表,并加深对于完整性的理解。
一.二、背景知识在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。
表是由行和列组成的。
创建表的过程主要就是定义表的列的过程。
表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。
约束是SQL Server提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
在SQL Server中有5种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)x 检查约束(Check Constraint)和默认约束(Default Constraint) 0...三、实验目的加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌握掌握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解加深对约束条件在数据更新操作执行中的作用问题的了解。
实验报告要求1、写出与上述任务相对应的SQL更新语句(实验报告上写出3、5、10的SQL语句)2、并记录在实验过程中遇到的问题、解决办法及心得体会。
五、实验内容方法一:在SSMS中插入、删除及修改数据,方法二:在查询编辑器中写SQL插入、删除及修改数据设有一个SPJ数据库,包括S, P, J, SPJ四个关系模式:S (SNO, SNAME, STATUS, CITY)dlim-S dbo. F dbo. JP (PNO, PNAME, COLOR, WEIGHT)PNAM;vardnar(2D)08L8Cbi3l(4)0WEIGm-int H□J (JNO, JNAME, CITY)列名数据类型允许空供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表1由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
sql语句及其实现工具笔试部分2007年4月考试真题一、(11) 以下不属于SQL 数据操作命令的是A)MODIFY B) INSERT C) UPDATE D) DELETE(15)SQL 的SELECT 语句中,“HAVING<条件表达式>”用来筛选满足条件的A) 列 B)行 C) 关系 D 分组(16)设有关系SC(SNO,CNO,GRADE),其中SNO、CNO 分别表示学号、课程号(两者均为字符型),GRADE 表示成绩(数值型),若要把学号为“S101”的同学,选修课程号为“C11”,成绩为98 分的记录插到表SC 中,正确的语句是A)INSERT INTO SC(SNO,CNO,GRADE)valueS(‘S101’,’C11’,’98’)B) INSERT INTO SC(SNO,CNO,GRADE)valueS(S101, C11, 98)C) INSERT (‘S101’,’C11’,’98’) INTO SCD) INSERT INTO SC valueS (‘S101’,’C11’,98)(17)以下有关SELECT 语句的叙述中错误的是A)SELECT 语句中可以使用别名B)SELECT 语句中只能包含表中的列及其构成的表达式C)SELECT 语句规定了结果集中的顺序D)如果FORM 短语引用的两个表有同名的列,则SELECT 短语引用它们时必须使用表名前缀加以限定(18)在SQL 语句中,与表达式“年龄 BETWEEN 12 AND 46”功能相同的表达式是A)年龄>=12 OR<=46 B)年龄>=12 AND<=46C) 年龄>=12OR 年龄<=46 D)年龄>=12 AND 年龄<=46(19)在SELEC 语句中,以下有关HAVING 语句的正确叙述是A)HAVING 短语必须与GROUP BY 短语同时使用B)使用HAVING 短语的同时不能使用WHERE 短语C) HAVING 短语可以在任意的一个位置出现D) HAVING 短语与WHERE 短语功能相同(20) 在SQL 的SELECT 查询的结果中,消除重复记录的方法是A) 通过指定主索引实现 B) 通过指定唯一索引实现C) 使用DISTINCT 短语实现 D) 使用WHERE 短语实现(25) 在Visual FoxPro 中,在数据库中创建表的CREATE TABLE 命令中定义主索引、实现实体完整性规则的短语是A) FOREIGN KEY B) DEFAULTC) PRIMARY KEY D) CHECK(26) 在Visual FoxPro 中,以下关于查询的描述正确的是A)不能用自由表建立查询 B) 只能使用自由表建立查询C)不能用数据库表建立查询 D)可以用数据库表和自由表建立查询(28)在Visual FoxPro 中,如果要将学生表S(学号,姓名,性别,年龄)中“年龄”属性删除,正确的SQL 命令是A)ALTER TABLE S DROP COLUMN 年龄 B)DELETE 年龄 FROM SC)ALTER TABLE S DELETE COLUMN 年龄 D)ALTEER TABLE S DELETE 年龄(30)设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18 岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL 命令是A)SELECT *FROM SWHERE 性别='女'AND 年龄<=18 ORDER BY 4 DESC INTO TABLE WSB) SELECT *FROM SWHERE 性别='女'AND 年龄<=18 ORDER BY 年龄 INTO TABLE WSC) SELECT *FROM SWHERE 性别='女'AND 年龄<=18 ORDER BY‘年龄’ DESC INTO TABLE WSD) SELECT *FROM SWHERE 性别='女'OR 年龄<=18 ORDER BY‘年龄’ ASC INTO TABLE WS(31)设有学生选课表SC(学号,课程号,成绩),用SQL 检索同时选修课程号为”C1”和”C5”的学生的学号的正确命令是A)SELECT 学号 RORM SCWHERE 课程号=’C1’AND 课程号=’C5’B) SELECT 学号 RORM SCWHERE 课程号=’C1’AND 课程号=(SELECT 课程号 FROM SC WHERE 课程号=’C5’)C) SELECT 学号 RORM SCWHERE 课程号=’C1’AND 学号=(SELECT 学号 FROM SC WHERE 课程号=’C5’)D) SELECT 学号 RORM SCWHERE 课程号=’C1’AND 学号 IN (SELECT 学号 FROM SC WHERE 课程号=’C5’)(32)设学生表S(学号,姓名,性别,年龄),课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号,姓名和学生所选课程名和成绩,正确的SQL 命令是A)SELECT 学号,姓名,课程名,成绩 FROM S,SC,CWHERE S.学号 =SC.学号 AND SC.学号=C.学号B)SELECT 学号,姓名,课程名,成绩FROM (S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号 =C. 课程号C)SELECT S. 学号,姓名,课程名,成绩FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号 =C. 课程号D) SELECT S. 学号,姓名,课程名,成绩FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ON S.学号 =SC. 学号二、(11)“歌手”表中有“歌手号”、“姓名”、和“最后得分”三个字段,“最后得分”越高名次越靠前,查询前10 名歌手的SQL 语句是:SELECT * ________ FROM 歌手 ORDER BY 最后得分。
(1)在算法正确的前提下,评价一个算法的两个标准是【1】。
正确答案:时间复杂度和空间复杂度(2)将代数式Z=x2 y2 a b 转换成程序设计中的表达式为【2】。
正确答案:SQRT(x 或2 y 或2)/(a b)(3)软件危机出现于60年代末,为了解决软件危机,人们提出了【3】的原理来设计软件,这就是软件工程诞生的基础。
正确答案:软件工程学(4)【4】是数据库设计的核心。
正确答案:数据模型(5)在关系模型中,把数据看成一个二维表,每一个二维表称为一个【5】。
正确答案:关系(6)函数STR(1234.5454,7,3)的值为【6】。
正确答案:1234.55(7)保证表中记录惟一的特性,即在一个表中不允许有重复的记录,是为了保证数据的【7】完整性。
正确答案:实体(8)在Visual FoxPro中,SKIP命令是按【8】顺序定位,如果使用索引时,则是按【9】顺序定位。
正确答案:逻辑正确答案:索引项(9)为表建立索引,其基本特点是可以提高【10】速度。
正确答案:查询(10)在“菜单设计器”中,要为定义的“编辑”菜单项设置一个访问键“E”,下列书写格式正确的是【11】。
正确答案:编辑(\par(11)SQL是【12】语言,其核心是【13】正确答案:结构化查询正确答案:查询(12)检索学生表中,“籍贯”为“北京”的学生记录,将结果保存到表temp中,SQL语句为:SELECT * FROM 学生表WHERE 籍贯="北京" 【14】 temp正确答案:INTO TABLE` INTO DBF(13)在SQL语句中,为了避免查询到重复记录,可用【15】短语。
正确答案:DISTINCT(1)冒泡排序算法在最好的情况下的元素交换次数为【1】。
正确答案:0(2)在最坏情况下,堆排序需要比较的次数为【2】。
正确答案:O(nlog2n)(3)若串s="MathTypes",则其子串的数目是【3】。
一. SQL语句【1】(C226)下列关于SQL语言特点的描述中,错误的是( )。
A)语言非常简洁B)是一种一体化语言C)是一种高度过程化的语D)可以直接以命令方式交互使用,也可以程序方式使用【2】1103(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操作语言D)数据控制语言【3】Y3(18)SQL语言的核心是( )。
A)数据操纵B)数据定义C)数据查询D)数据定义【4】Y1(24)VisualFoxPro在SQL方面,不支持的功能是( )。
A)数据控制B)数据操纵C)数据查询D)数据定义【5】Y4(30)下列选项中,不属于SQL特殊运算符的是( )。
A)GROUP B)ON C)ALL D)EMPTY二. SQL查询语句【1】0904(12)SQL语句的查询语句是A) INSERT B)UPDATE C) DELETE D) SELECT【2】(C126)标准的SQL基本查询语句的格式是( )。
A)SELECT…FROM…WHERE B)SELECT…WHERE…FROM C)SELECT…WHERE…GROUP BY D)SELECT…FROM…ORDER BY 【3】Y3 (25)SQL语句中,SELECT语句中的JOIN是用来建立表间的联系短语应放在下列哪个短语之后( )。
A)FROM B)WHERE C)ON D)GROUP BY【4】Y2(20)SQL语句中,SELECT命令中的JOIN是用来建立表间的联系短语,连接条件应出现在下列哪个短语中A)WHERE B)ON C)HAVING D)INNER【5】Y4(17)SQL SELECT语句中的WHERE用于说明( )。
A)查询数据B)查询条件C)查询分组D)查询排序【6】Y4(18)SQL语句可以进行多个查询的嵌套,但Visual FoxPro中只支持( )层嵌套。
A)1 B)2 C)3 D)无穷【7】(C128)在Visual FoxPro中,嵌套查询是基于( )的查询A)2个关系B)3个关系C)多个关系D)2个或3个关系【8】0704 (17)以下有关SELECT语句的叙述中错误的是A)SELECT语句中可以使用别名B)SELECT语句中只能包含表中的列及其构成的表达式C)SELECT语句规定了结果集中的顺序D)如果FROM短语引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定【9】0504 (31) 在Visual FoxPro中,以下有关SQL的SELECT语句的叙述中,错误的是 ( )。
使⽤sql语句查询⽇期的⽅法使⽤sql语句查询⽇期的⽅法 结构化查询语⾔(Structured Query Language)简称SQL,是⼀种特殊⽬的的编程语⾔,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库系统。
以下是⼩编为⼤家整理的使⽤sql语句查询⽇期的⽅法,仅供参考,希望能够帮助⼤家。
使⽤sql语句查询⽇期的⽅法篇1 使⽤sql语句查询⽇期 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天⽇期在⼀周年的数据 --查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 --查询24⼩时内的: select * from info where DateDiff(hh,datetime,getDate())<=24 --info为表名,datetime为数据库中的字段值 --查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 --查询24⼩时内的: select * from info where DateDiff(hh,datetime,getDate())<=24 --info为表名,datetime为数据库中的字段值 Sql代码 --查询当天记录另类的⽅法 SELECT * FROM j_GradeShop WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC --查询当天记录另类的⽅法 SELECT * FROM j_GradeShop WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC DATEDIFF 函数: 语法: DATEDIFF ( datepart , startdate , enddate ) 备注:enddate 减去 startdate。
数据库:保存在硬盘上的文件数据库产品:采用一种优良的数据结构来保存数据,方便我们对数据进行查询和修改sql语句:用于操作数据库的语句数据库database 表table创建create查看show修改alter删除drop所有对数据库和表单的操作就是上面六个单词的组合// 创建一个数据库create database mydb;// 删除一张表drop table mytable;一、数据库的操作创建一个名称为mydb1的数据库。
create database mydb1;创建一个使用utf-8字符集的mydb2数据库。
create database mydb2 character set utf8;创建一个使用utf-8字符集,并带校对规则的mydb3数据库。
create database mydb3 character set utf8 collate utf8_general_ci;查看所有的数据库show databases;查看数据库的创建语句show create database mydb2;删除前面创建的mydb3数据库drop database mydb3;drop database if exists mydb3; 如果存在才会删除数据库的修改数据库一旦创建名称无法修改,字符集和校对规则可以改把mydb2的字符集修改为gb2312alter database mydb2 character set gb2312;备份数据库// 使用数据库use mydb2;// 创建表create table a(name varchar(20));// 插入数据insert into a(name) values('aaa');insert into a(name) values('bbb');mysqldump -uroot -proot mydb2 > d:\a.sql删除 mydb2drop database mydb2;恢复数据库实际上是恢复数据库中的数据创建数据库使用数据库create database mydb3;use mydb3;source d:\a.sql实际上source命令用于执行一段sql脚本二、表的操作创建表id整形name字符型gender字符型或bit型brithday日期型entry_date日期型job字符型Salary小数型resume大文本型create table employee(id int,name varchar(20),gender varchar(6),birthday date,entry_date date,job varchar(20),salary float,resume text);修改表在上面员工表的基础上增加一个image列alter table employee add image blob;修改job列,使其长度为60alter table employee modify job varchar(60);删除gender列。
alter table employee drop gender;表名改为users。
rename table employee to users;修改表的字符集为utf-8alter table users character set utf8;列名name修改为usernamealter table users change column name username varchar(40);show tables;查看表的创建语句show create table users;查看表的结构desc users;// 删除表drop table employee;三、表中数据的操作 (重点)crud: create read update deletesql语句1. insert语句增加数据employee.sqlcreate table employee(id int,name varchar(20),gender varchar(10),birthday date,salary float,entry_date date,resume text);插入三条记录insert into employee(id,name,gender,birthday,salary,entry_date,resume) values(1,'zhangsan','male','1980-1-1',1000,'2000-3-16','good boy');insert into employee(id,name,gender,birthday,salary,entry_date,resume) values(2,'lisi','male','1983-1-1',1000,'2010-3-16','good boy');insert into employee(id,name,gender,birthday,salary,entry_date,resume) values(3,'xiaohong','female','1984-1-1',1000,'2008-3-16','good girl');insert into employee(id,name,gender,birthday,salary,entry_date,resume) values(4,'王五','男','1983-1-1',1000,'2010-3-16','一个好男孩');// 查看数据库的所有编码show variables like 'character%';character_set_client使用的客户端编码character_set_results结果集的编码设置的方式set character_set_client=gbkset character_set_results=gbk// 创建一张a表create table a(id int,name varchar(20));insert into a values(1,'aaa');insert into a(name) values('bbbb');insert a(id,name) values(2,'cccc'),(3,'dddd');规范的方式书写insert into a(id,name) values(6,'eeeee');查看表中的数据select * from employee;2. update语句更新数据将所有员工薪水修改为5000元。
update employee set salary=5000;将姓名为’zhangsan’的员工薪水修改为3000元。
update employee set salary=3000 where name='zhangsan';将姓名为’lisi’的员工薪水修改为4000元,gender改为female。
update employee set salary=4000,gender='female' where name='lisi';将xiaohong的薪水在原有基础上增加1000元。
update employee set salary=salary+1000 where name='xiaohong';3. delete语句删除数据删除表中name为’zhangsan’的记录。
delete from employee where name='zhangsan';删除表中所有记录。
delete from employee;使用truncate删除表中记录。
删除表再创建表truncate employee;4. select语句查询数据student.sqlcreate table student(id int,name varchar(20),chinese float,english float,math float);insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90); insert into student(id,name,chinese,english,math) values(2,'李进',67,53,95); insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77); insert into student(id,name,chinese,english,math) values(4,'李一',88,98,92); insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67); insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45); insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30); insert into student(id,name,chinese,english,math) values(8,null,75,65,30);查询表中所有学生的信息。
select * from student;查询表中所有学生的姓名和对应的英语成绩。
select name,english from student;过滤表中重复数据。
select distinct english from student;在所有学生分数上加10分特长分。
select name,chinese+10 as chinese,math+10,english+10 from student; 统计每个学生的总分。