快捷搜索:
来自 网络数据库 2019-07-08 03:23 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

SQL语言概述

效用概述


  • DDL,数据库定义语言,创造,修改,删除数据库,表,视图,索引,约束原则等
  • DML,数据库操纵语言,对数据库中的数据举行增,删,改,查
  • DCL,数据库定义语言,对数据库总的数量据的看望设置权限

SQL语言是集DDL,DML,DCL为一体的数据库语言,学好数据库首先要调节下边9个引导词

  • DDL语言辅导词:CREATE(成立),ALTE库罗德(修改),DROP(打消)
  • DML语言携带词:INSERT(增),DELETE(删),UPDATE(改),SELECT(查)
  • DCL语言带领词:GRANT(授权),REVOKE(调用)

创建表


新京葡娱乐场网址 1

上面来创设两个表

学生表:学号(sn),姓名(sname),性别(sex),年龄(sage), 所属系(dn),班级(sclass)

create table student( sn char(8), sname char(10), ssex char(2), sage integer, dn char(2), sclass char(6)) engine=MYISAM character set utf8;

INSERT INTO student (sn,  sname,  ssex,  sage,  dn,  sclass) VALUES ('98030101',    '张三',    '男',    '20',    '03',    '980301'  ) ;

院系表:系别(dn),系名(dname),系主任(dean)

create table dept(dn char(2), dname char(10), dean char(10)) engine=MYISAM character set utf8;

INSERT INTO dept(dn, dname, dean) VALUES("01", "机电", "李三");

课程表:课程号(cn),课程名(cname),助教编号(tn),学时(chours),学分(credit)

create table course(cn char(3), cname char(12), tn char(3), chours integer, credit float(1)) engine=MYISAM character set utf8;

新京葡娱乐场网址 ,INSERT INTO course(cn, cname, tn, chours, credit) VALUES("001", "数据库", "001", 40, 6);

教师表:教师编号(tn),教授名(tname),所属院系(dn),薪给(salary)

create table teacher(tn char(3), tname char(10), dn char(2), salary float(2)) engine=MYISAM character set utf8;

INSERT INTO teacher(tn, tname, dn, salary) VALUES ("001", "赵三", "01", 1200.00);

选课表:学号(sn),课程号(cn),成绩(score)

create table sc(sn char(8), cn char(3), score float(1)) engine=MYISAM character set utf8;

INSERT INTO sc(sn, cn, score) VALUES ("980230101", "001", 92);

下边是开创后一体化的表

student

新京葡娱乐场网址 2

dept

新京葡娱乐场网址 3

teacher

新京葡娱乐场网址 4

course

新京葡娱乐场网址 5

sc

新京葡娱乐场网址 6

粗略询问操作


  • 追寻学生表中全数年龄低于等于19岁的学员姓名和年龄

SELECT sname, sage FROM student WHERE sage<=19;

新京葡娱乐场网址 7

  • 搜索助教表中全体薪资少于1500元依然报酬高于3000元,况兼是03系的先生姓名(注意括号)

SELECT tname
FROM teacher
WHERE (salary<1500 OR salary>2000) AND dn="03";

新京葡娱乐场网址 8

  • 求既学过001课程又学过002课程的同桌学号(错误版)

SELECT sn
FROM sc
WHERE cn="001" AND cn="002";

地点的言辞是指鹿为马的,因为WHERE条件是对每条记下举行反省,在一条记下中cn不可能还要为001又为002

  • 在选课表中查询战表当先80分的学号(结果重复版)

SELECT sn
FROM sc
WHERE score>80;

新京葡娱乐场网址 9

  • 在选课表中查询成绩超乎80分的学号(结果未再一次)

SELECT DISTINCT sn
FROM sc
WHERE score>80;

新京葡娱乐场网址 10

  • 按学号由小到大的一一彰显出具备学员的学号和姓名

SELECT sn,sname
FROM student
ORDER BY sn ASC;

O中华VDELacrosse是对查询后的结果开始展览排序

新京葡娱乐场网址 11

  • 检索002号课大于80分的兼具同学学号并按成绩由高到低依次彰显

SELECT sn
FROM sc
WHERE score>80 AND cn="002"
ORDER BY score DESC;

新京葡娱乐场网址 12

指鹿为马查询


混淆查询是当大家不能够准确查询条件时,能够选择的。举例大家想找壹位,但只知道此人姓张,那时候大家得以经过模糊查询来搜索姓张的,然后做具体剖判。

  • 找出全体姓张的同校

SELECT sname
FROM student
WHERE sname LIKE "张%";

%号表示特出零个或多个字符

新京葡娱乐场网址 13

  • 追寻名为张某某的同班姓名

SELECT sname
FROM student
WHERE sname LIKE "张__";

只顾张前面是五个下划线,三个下划线代表一个字符。

  • 搜索不姓张的同窗姓名

SELECT sname
FROM student
WHERE sname NOT LIKE "张%";

新京葡娱乐场网址 14

多表联合查询


多表联合查询涉及到表的总是操作,通过通过将四个表连成一张大表,然后做询问操作。前边大家在涉嫌代数中提到表的连年可以透过笛Carl积 接纳来落到实处,而SQL中也是那般处理的。

  • 按001号课成绩由高到低依次显示全部学员的人名

SELECT DISTINCT sname
FROM student,sc
WHERE student.sn=sc.sn AND sc.cn="001"
ORDER BY score DESC;

先将student和sc表举行笛Carl积运算产生一张大表,然后实行WHERE条件判定举行精选,接着实行排序操作,最终将供给的属性值投影出来。

新京葡娱乐场网址 15

  • 按数据库课成绩从高到底展现同学姓名

SELECT DISTINCT sname
FROM student,sc,course
WHERE student.sn=sc.sn AND sc.cn=course.cn AND course.cname="数据库"
ORDER BY score DESC;

新京葡娱乐场网址 16

重名操作


当表自连接时索要对表举行重名操作,不仅仅对表起外号何况供给对影子的列也要实行别称管理。

新京葡娱乐场网址 17

as是足以轻松的

  • 查询报酬有差额的导师姓名

SELECT T1.tname AS teacher1,T2.tname AS teacher2
FROM teacher AS T1,teacher AS T2
WHERE T1.salary > T2.salary;

留神:查询后列名发生了扭转

新京葡娱乐场网址 18

  • 询问既学过001课程又学过002课程的学生学号

SELECT sc1.sn
FROM sc AS sc1, sc AS sc2
WHERE sc1.cn="001" AND sc2.cn="002" AND sc1.sn=sc2.sn;

新京葡娱乐场网址 19

咱俩得以看到地点的操作中未对属性名进行小名管理,是因为查询的结果聚焦属性名不争辩。

布置操作


简短的插入操作大家在创立表的时候已经介绍过了,上面介绍一下尤为复杂操作。

下图中是将从student表中找到的数目直接插入到st(sn,sname)当中去。因此可看出,insert语句前面是足以跟子查询的。

新京葡娱乐场网址 20

剔除操作


  • 除去98030101号同学所选的科目

DELETE FROM sc WHERE sn="98030101";

更新操作


语法格式

新京葡娱乐场网址 21

  • 将具备教授薪给上调5%

UPDATE teacher SET salary=salary*1.05;

修改表的定义


新京葡娱乐场网址 22

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:SQL语言概述

关键词: