您现在的位置是:网站首页> 编程资料编程资料
收藏的SQL知识以及SQL语句简单实践通俗易懂_数据库其它_
2023-05-27
457人已围观
简介 收藏的SQL知识以及SQL语句简单实践通俗易懂_数据库其它_
小引
首先说明,这个笔者2年前学习SQL的遗漏下来的笔记,由于参加完腾讯的笔试,内容比较偏向数据机构和编译以及数据库,刚好要换台本本,心里不想把它弄死在硬盘里,觉得蛮好的,所以把它都分享了,主要第一部分简单介绍SQL语言,第二部分简单实践,纯属于简单类似的记录,通俗易懂,希望对学习数据库原理的同学有一定的帮助!
主要内容:
综述
简单实践
综述
大家都知道SQL是结构化查询语言,是关系数据库的标准语言,是一个综合的,功能极强的同时又简洁易学的,它集级数据查询(Data Quest),数据操纵(Data Manipulation),数据定义(Data Definition),数据控制(Data Control)于一体 即:
SQL语言包含4个部分:
※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句
※ 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句
※ 数据查询语言(DQL),例如:SELECT语句
※ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句
SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)
现在说说SQL的几个基本概念:
基本表:本身独立存在的一个表,一个关系就是对应一个基本表
内模式:存储文件的逻辑结构组成了关系数据库的内模式
视图:从一个或几个基本表导出的表,他是一个虚表
简单实践
建一个数据库,包含“学生表”,“教员表”,“任课表”,“专业表”,“课程表”,“学生个人情况表”,“成绩表”七张表
下面几个表是我们这次实践要用到的表: 用SQL语句建表:
建立一个数据库cc
create database cc;
use cc;
创建一个名为tb_student的学生表
tb_student的学生表
create table tb_student(
stunum char(7) primary key, --学号
stuname char(8) not null, --姓名
stusex char(2) check(stusex in('女','男')), --性别
stubirthday smalldatetime not null, --学生出生日期
stuspec char(6)not null, --专业
stuscore numeric(4,1), --入学成绩
stuloan char(2) check(stuloan in ('是','否'))not null, --是否贷款
)
创建一个名为tb_teacher的教师表
tb_teacher的教师表
create table tb_teacher(
教师代号 char(7) primary key, --教师代号
姓名 char(8) not null, --教师名字
性别char(2) check(teasex in('女','男')), --教师性别
出生年月 datetime not null, --教师出生日期
职称 char(6), --职称
)
创建一个名为tb_renke的任课表
tb_renke的任课表
create table tb_renke(
课程代号 char(5), --课程代号
教师代号 char(7), -- 教师代号
)
创建一个名为tb_major的专业表
tb_major的专业表
create tabletb_major(
专业名称 char(8) primary key, --专业名称
负责人 char(8) not null, --负责人
)
创建一个名为tb_course的课程表
tb_course的课程表
create table course(
课程代号 char(5)primary key, --课程代号
课程名 char(14) not null, --课程名
周学时 int, --周学时
学分 int, --学分
)
创建一个名为tb_studentinfo的学生个人情况表
tb_studentinfo的学生个人情况表
create table tb_studentinfo(
学号 char(7), --学号
身份证 char(15) unique, --身份证号码
籍贯 char(8), --籍贯
家庭住址 text, --家庭住址
电话 char(30), --电话
特长 text, --特长
奖励 text, --奖励
处分 char(100), --处分
)
创建一个名为tb_grade的成绩表
tb_grade的成绩表
create table tb_grade(
学号 char(7), --学号
课程代号 char(5), --课程代号
平时 numeric(3,1), --平时
期中 numeric(3,1), --期中
期末 numeric(3,1), --期末
)
现在向每一张表插入记录
给学生表tb_student插入数据
tb_student
insert into tb_student values('9607039','邓盈莹','女','1978-6-6','外贸',666.6,'是');
insert into tb_student values('9907002','倪雯娴','女','1981-4-1','外贸',641.4,'是');
insert into tb_student values('9801055','赵东','男','1979-11-9','中文',450,'否');
insert into tb_student values('9902006','和音','女','1982-6-19','数学',487.1,'否');
insert into tb_student values('9704001','克敏敏','女','1978-7-22','物理',463,'否');
insert into tb_student values('9603001','申强','男','1978-1-15','新闻',512,'是');
insert into tb_student values('9606005','迟大为','男','1976-9-3','化学',491.3,'否');
insert into tb_studentvalues('9803011','欧阳小娟','女','1981-8-11','新闻',526.5,'否');
insert into tb_student values('9908088','毛杰','男','1982-1-1','计算机',622.2,'否');
insert into tb_student values('9608066','康红','女','1979-9-7','计算机',596.8,'是');
insert into tb_student values('9805026','夏天','男','1980-5-7','历史',426.7,'否');
insert into tb_student values('9702033','李力','男','1979-7-7','数学',463.9,'否');
给教师表tb_teacher插入数据
tb_teacher
insert into tb_teacher values('20222','于朵','女','1962-6-19','副教授');
insert into tb_teacher values('20406','张建','女','1946-7-16','教授');
insert into tb_teacher values('10429','蒋成功','男','1959-3-12','副教授');
insert into tb_teacher values('10616','万年','男','1945-9-1','教授');
insert into tb_teacher values('20626','孙乐','女','1971-12-15','讲师');
insert into tb_teacher values('10803','李铁','男','1958-9-22','副教授');
insert into tb_teacher values('10812','米粟','男','1960-1-3','副教授');
insert into tb_teacher values('11015','柴淮','男','1973-8-26','讲师');
insert into tb_teacher values('11107','方华','女','197**-6','讲师');
insert into tb_teacher values('20836','张静','女','1974-11-15','讲师');
insert into tb_teacher values('10101','高树声','男','1940-12-5','教授');
insert into tb_teacher values('10312','巩文','男','1959-3-17','副教授');
insert into tb_teacher values('20506','吴燕','女','1947-10-6','教授');
insert into tb_teacher values('20701','沈菲菲','女','1960-6-18','副教授');
insert into tb_teacher values('10202','梁龙林','男','1948-6-18','教授');
insert into tb_teacher values('10428','李阳','男','1955-8-12','教授');
insert into tb_teacher values('10621','鲁师','男','1943-11-18','教授');
insert into tb_teachervalues('10809','邓为民','男','1957-1-26','副教授');
insert into tb_teacher values('20106','姜晓红','女','1961-6-5','副教授');
insert into tb_teacher values('10131','付林','男','1968-9-11','讲师');
insert into tb_teacher values('10802','杨亮红','男','1941-5-23','教授');
insert into tb_teacher values('10223','周毅','男','1970-3-8','讲师');
insert into tb_teacher values('20255','孙莉莉','女','1975-9-12','讲师');
insert into tb_teacher values('20705','夏雪','女','1969-10-28','讲师');
insert into tb_teacher values('10712','南方','男','1975-9-13','讲师');
insert into tb_teacher values('10201','代顺达','男','1940-12-17','讲师');
insert into tb_teacher values('20301','高珊','女','1965-6-19','副教授');
insert into tb_teacher values('20319','林妮','女','1973-4-1','讲师');
insert into tb_teacher values('21025','张旗','女','1972-6-6','讲师');
insert into tb_teacher values('11117','韩明','男','1976-2-14','助教');
insert into tb_teacher values('10503','孙建国','男','1949-10-1','教授');
insert into tb_teacher values('10509','黄宁','男','1956-12-23','副教授');
给任课表tb_renke插入数据
tb_renke
insert into tb_renke values('21003','21025');
insert into tb_renke values('30211','20255');
insert into tb_renke values('30232','10201');
insert into tb_renke values('40711','10712');
insert into tb_renke values('40722','20701');
insert into tb_renke values('10101','20106');
insert into tb_renke values('11101','11107');
insert into tb_renke values('20511','10509');
insert into tb_renke values('10101','10131');
insert intotb_renke values('20534','10503');
insert into tb_renke values('10712','20705');
insert into tb_renke values('20115','20106');
insert into tb_renke values('10222','10223');
insert into tb_renke values('30412','10429');
insert into tb_renke values('40316','20319');
insert into tb_renke values('40612','20626');
insert into tb_renke values('20328','20301');
insert into tb_renke values('10812','10429');
insert into tb_renke values('20801','10803');
insert into tb_renke values('30802','10812');
insert into tb_renke values('11001','11015');
insert into tb_renke values('20113','10131');
insert into tb_renke values('30416','10428');
insert into tb_renke values('20327','10312');
insert into tb_renke values('20521','20506');
insert into tb_renke values('30213','10201');
insert into tb_renke values('11101','11117');
insert into tb_renke values('10715','20222');
insert intotb_renke values('20111','10101');
insert into tb_renke values('10218','10202');
insert intotb_renke values('30423','20406');
insert into tb_renke values('40331','20319');
insert intotb_renke values('40625','10616');
insert into tb_renke values('20314','20301');
insert into tb_renke values('10811','20836');
insert into tb_renke values('30819','10802');
给专业表tb_major插入数据
tb_major
insert into tb_major values('化学','鲁师');
insert into tb_major values('计算机','邓为民');
insert into tb_major values('软件','李明');
insert into tb_major values('外贸','沈菲菲');
insert into tb_major values('数学','梁龙林');
insert into tb_major values('物理','李阳');
insert intotb_major values('物理学','王国玉');
insert into tb_major values('历史','吴燕');
insert i
首先说明,这个笔者2年前学习SQL的遗漏下来的笔记,由于参加完腾讯的笔试,内容比较偏向数据机构和编译以及数据库,刚好要换台本本,心里不想把它弄死在硬盘里,觉得蛮好的,所以把它都分享了,主要第一部分简单介绍SQL语言,第二部分简单实践,纯属于简单类似的记录,通俗易懂,希望对学习数据库原理的同学有一定的帮助!
主要内容:
综述
简单实践
综述
大家都知道SQL是结构化查询语言,是关系数据库的标准语言,是一个综合的,功能极强的同时又简洁易学的,它集级数据查询(Data Quest),数据操纵(Data Manipulation),数据定义(Data Definition),数据控制(Data Control)于一体 即:
SQL语言包含4个部分:
※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句
※ 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句
※ 数据查询语言(DQL),例如:SELECT语句
※ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句
SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)
现在说说SQL的几个基本概念:
基本表:本身独立存在的一个表,一个关系就是对应一个基本表
内模式:存储文件的逻辑结构组成了关系数据库的内模式
视图:从一个或几个基本表导出的表,他是一个虚表
简单实践
建一个数据库,包含“学生表”,“教员表”,“任课表”,“专业表”,“课程表”,“学生个人情况表”,“成绩表”七张表
下面几个表是我们这次实践要用到的表: 用SQL语句建表:
建立一个数据库cc
复制代码 代码如下:
create database cc;
use cc;
创建一个名为tb_student的学生表
复制代码 代码如下:
tb_student的学生表
create table tb_student(
stunum char(7) primary key, --学号
stuname char(8) not null, --姓名
stusex char(2) check(stusex in('女','男')), --性别
stubirthday smalldatetime not null, --学生出生日期
stuspec char(6)not null, --专业
stuscore numeric(4,1), --入学成绩
stuloan char(2) check(stuloan in ('是','否'))not null, --是否贷款
)
创建一个名为tb_teacher的教师表
tb_teacher的教师表
复制代码 代码如下:
create table tb_teacher(
教师代号 char(7) primary key, --教师代号
姓名 char(8) not null, --教师名字
性别char(2) check(teasex in('女','男')), --教师性别
出生年月 datetime not null, --教师出生日期
职称 char(6), --职称
)
创建一个名为tb_renke的任课表
tb_renke的任课表
复制代码 代码如下:
create table tb_renke(
课程代号 char(5), --课程代号
教师代号 char(7), -- 教师代号
)
创建一个名为tb_major的专业表
复制代码 代码如下:
tb_major的专业表
create tabletb_major(
专业名称 char(8) primary key, --专业名称
负责人 char(8) not null, --负责人
)
创建一个名为tb_course的课程表
复制代码 代码如下:
tb_course的课程表
create table course(
课程代号 char(5)primary key, --课程代号
课程名 char(14) not null, --课程名
周学时 int, --周学时
学分 int, --学分
)
创建一个名为tb_studentinfo的学生个人情况表
tb_studentinfo的学生个人情况表
复制代码 代码如下:
create table tb_studentinfo(
学号 char(7), --学号
身份证 char(15) unique, --身份证号码
籍贯 char(8), --籍贯
家庭住址 text, --家庭住址
电话 char(30), --电话
特长 text, --特长
奖励 text, --奖励
处分 char(100), --处分
)
创建一个名为tb_grade的成绩表
tb_grade的成绩表
复制代码 代码如下:
create table tb_grade(
学号 char(7), --学号
课程代号 char(5), --课程代号
平时 numeric(3,1), --平时
期中 numeric(3,1), --期中
期末 numeric(3,1), --期末
)
现在向每一张表插入记录
给学生表tb_student插入数据
复制代码 代码如下:
tb_student
insert into tb_student values('9607039','邓盈莹','女','1978-6-6','外贸',666.6,'是');
insert into tb_student values('9907002','倪雯娴','女','1981-4-1','外贸',641.4,'是');
insert into tb_student values('9801055','赵东','男','1979-11-9','中文',450,'否');
insert into tb_student values('9902006','和音','女','1982-6-19','数学',487.1,'否');
insert into tb_student values('9704001','克敏敏','女','1978-7-22','物理',463,'否');
insert into tb_student values('9603001','申强','男','1978-1-15','新闻',512,'是');
insert into tb_student values('9606005','迟大为','男','1976-9-3','化学',491.3,'否');
insert into tb_studentvalues('9803011','欧阳小娟','女','1981-8-11','新闻',526.5,'否');
insert into tb_student values('9908088','毛杰','男','1982-1-1','计算机',622.2,'否');
insert into tb_student values('9608066','康红','女','1979-9-7','计算机',596.8,'是');
insert into tb_student values('9805026','夏天','男','1980-5-7','历史',426.7,'否');
insert into tb_student values('9702033','李力','男','1979-7-7','数学',463.9,'否');
给教师表tb_teacher插入数据
复制代码 代码如下:
tb_teacher
insert into tb_teacher values('20222','于朵','女','1962-6-19','副教授');
insert into tb_teacher values('20406','张建','女','1946-7-16','教授');
insert into tb_teacher values('10429','蒋成功','男','1959-3-12','副教授');
insert into tb_teacher values('10616','万年','男','1945-9-1','教授');
insert into tb_teacher values('20626','孙乐','女','1971-12-15','讲师');
insert into tb_teacher values('10803','李铁','男','1958-9-22','副教授');
insert into tb_teacher values('10812','米粟','男','1960-1-3','副教授');
insert into tb_teacher values('11015','柴淮','男','1973-8-26','讲师');
insert into tb_teacher values('11107','方华','女','197**-6','讲师');
insert into tb_teacher values('20836','张静','女','1974-11-15','讲师');
insert into tb_teacher values('10101','高树声','男','1940-12-5','教授');
insert into tb_teacher values('10312','巩文','男','1959-3-17','副教授');
insert into tb_teacher values('20506','吴燕','女','1947-10-6','教授');
insert into tb_teacher values('20701','沈菲菲','女','1960-6-18','副教授');
insert into tb_teacher values('10202','梁龙林','男','1948-6-18','教授');
insert into tb_teacher values('10428','李阳','男','1955-8-12','教授');
insert into tb_teacher values('10621','鲁师','男','1943-11-18','教授');
insert into tb_teachervalues('10809','邓为民','男','1957-1-26','副教授');
insert into tb_teacher values('20106','姜晓红','女','1961-6-5','副教授');
insert into tb_teacher values('10131','付林','男','1968-9-11','讲师');
insert into tb_teacher values('10802','杨亮红','男','1941-5-23','教授');
insert into tb_teacher values('10223','周毅','男','1970-3-8','讲师');
insert into tb_teacher values('20255','孙莉莉','女','1975-9-12','讲师');
insert into tb_teacher values('20705','夏雪','女','1969-10-28','讲师');
insert into tb_teacher values('10712','南方','男','1975-9-13','讲师');
insert into tb_teacher values('10201','代顺达','男','1940-12-17','讲师');
insert into tb_teacher values('20301','高珊','女','1965-6-19','副教授');
insert into tb_teacher values('20319','林妮','女','1973-4-1','讲师');
insert into tb_teacher values('21025','张旗','女','1972-6-6','讲师');
insert into tb_teacher values('11117','韩明','男','1976-2-14','助教');
insert into tb_teacher values('10503','孙建国','男','1949-10-1','教授');
insert into tb_teacher values('10509','黄宁','男','1956-12-23','副教授');
给任课表tb_renke插入数据
复制代码 代码如下:
tb_renke
insert into tb_renke values('21003','21025');
insert into tb_renke values('30211','20255');
insert into tb_renke values('30232','10201');
insert into tb_renke values('40711','10712');
insert into tb_renke values('40722','20701');
insert into tb_renke values('10101','20106');
insert into tb_renke values('11101','11107');
insert into tb_renke values('20511','10509');
insert into tb_renke values('10101','10131');
insert intotb_renke values('20534','10503');
insert into tb_renke values('10712','20705');
insert into tb_renke values('20115','20106');
insert into tb_renke values('10222','10223');
insert into tb_renke values('30412','10429');
insert into tb_renke values('40316','20319');
insert into tb_renke values('40612','20626');
insert into tb_renke values('20328','20301');
insert into tb_renke values('10812','10429');
insert into tb_renke values('20801','10803');
insert into tb_renke values('30802','10812');
insert into tb_renke values('11001','11015');
insert into tb_renke values('20113','10131');
insert into tb_renke values('30416','10428');
insert into tb_renke values('20327','10312');
insert into tb_renke values('20521','20506');
insert into tb_renke values('30213','10201');
insert into tb_renke values('11101','11117');
insert into tb_renke values('10715','20222');
insert intotb_renke values('20111','10101');
insert into tb_renke values('10218','10202');
insert intotb_renke values('30423','20406');
insert into tb_renke values('40331','20319');
insert intotb_renke values('40625','10616');
insert into tb_renke values('20314','20301');
insert into tb_renke values('10811','20836');
insert into tb_renke values('30819','10802');
给专业表tb_major插入数据
复制代码 代码如下:
tb_major
insert into tb_major values('化学','鲁师');
insert into tb_major values('计算机','邓为民');
insert into tb_major values('软件','李明');
insert into tb_major values('外贸','沈菲菲');
insert into tb_major values('数学','梁龙林');
insert into tb_major values('物理','李阳');
insert intotb_major values('物理学','王国玉');
insert into tb_major values('历史','吴燕');
insert i
相关内容
- 数据库中的左连接(left join)和右连接(right join)区别_数据库其它_
- 一些关于数据存储和查询优化的想法_数据库其它_
- 数据库建立索引的一般依据小结_数据库其它_
- Mssql,Access的sql经典SQL语句大全_数据库其它_
- 由拖库攻击谈口令字段的加密策略(数据库加密)_数据库其它_
- 关于若干数据库数据插入性能的对比分析_数据库其它_
- 如何用分表存储来提高性能 推荐_数据库其它_
- 分享三种高效率SQL语句分页方法_数据库其它_
- 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序错误的解决方法_数据库其它_
- 数据库测试 实用技巧及测试方法_数据库其它_
点击排行
本栏推荐
