【mysql3】我的大学teacher课程进行中|持续更新系列!
1.做一下powerdesigner的画图
2.所有的创建表格
.....1
修改字段的数据类型:
alter table 表名 modify 字段名 新数据类型;
...2
...3
...4
...5
....6
1
MySQL配置、启动、登录操作
操作要求:
1.在windows服务对话框中,手动启动或者关闭mysql 服务。
2.使用net命令启动或者关闭mysql 服务。
3.配置系统变量path ,确保mysql安装路径下的bin文件夹包含在path变量中。
#文件在C:\Program Files\MySQL\MySQL Server 5.7\bin,在系统的高级环境变量中path配置。
4.分别用 navicat 工具和命令行方式登录mysql服务器。在命令行如何退出?
5.在命令行修改登录密码,并重新登录。
方法1: 用SET PASSWORD命令
首先登录MySQL。
#mysql -uroot -proot
格式:mysql> set password for 用户名@localhost = password('新密码');
#set password for root@localhost = password('123456'); // 将密码root改为123456
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码、
#mysqladmin -uroot -proot password 123456;
6.在命令行查看mysql版本信息。
status /select version();
#status;
#select version();
7.在命令行查看mysql帮助信息。
help
#help;
8.在命令行查看mysql状态信息。
status
#status;
9.把命令提示符修改为hao>
prompt hao> (prompt \u@\h\d>) (注意后面不能加分号)
#prompt \u@\h\d>
10.将字符编码改为gbk。
#set names gbk;
。。。
。。。
2
表的建立和修改
分别用navicat工具和命令行方式在cjgl数据库中完成如下操作:
(用navicat,新建数据库:cjgl)
一、 1. 建名为xs的学生表 ,xs表字段要求如下:
学号 char(6) 主键 not null
姓名 varchar(8) not null
专业名 varchar(20) null
性别 char(2) not null 默认值:'男'
出生日期 date not null
总学分 tinyint null
备注 text null
#create table xs (
学号 char(6) primary key not null,
姓名 varchar(8) not null,
专业名 varchar(20) null,
性别 char(2) not null default '男',
出生日期 date not null,
总学分 tinyint
备注 text null
);
2.查看表的结构和创建代码,查看当前库中所有已建的表。
#desc xs;
#show tables;
#select * from xs;
#show columns from xs;
3.修改xs表的列‘总学分’数据类型为smallint。
#alter table xs modify 总学分 smallint;
4.将xs表的字符集改为utf8,然后再改为gb2312。
#alter table xs default charset=utf8;
5.将xs表的出生日期改名为出生时间。
#alter table xs change 出生日期 出生时间 date;
6.在xs表中添加一个‘联系电话’字段,char(11),null。然后删除这个字段。
#alter table xs add 联系电话 char(11) null;
#alter table xs drop column 联系电话;
7.将xs表复制,复制后的表名为xsbk。
#insert into
8.将表xsbk 的存储引擎改为myisam,并查看改否。
#
9.将表xsbk重命名为xs_bk。
#
10.删除xs_bk表。
#
二、 建名为kc的课程表 ,kc表字段要求如下:
课程号 char(3) 主键 not null
课程名 varchar(20) not null 不能有重复值(唯一约束)
开课学期 tinyint not null 默认值:1
学分 tinyint null
#create table kc(
课程号 cahr(3) primary key not null,
课程名 varchar(20) not null unique,
开课学期 tinyint not null default 1,
学分 tinyint null
);
三、建名为cj的成绩表 ,cj表字段要求如下:
学号 char(6) 外键:(xs) 表的学号
课程号 char(3) 外键:(kc) 表的课程号
成绩 decimal(3,1) null
其中,学号与课程号一起作为主键。
#create table cj(
学号 char(6) not null,
课程号 char(3) not null,
成绩 decimal(3,1) null,
primary key(学号,课程号),
constraint fk_xh foreign key (学号) references xs(学号) on delete cascade on update cascade,
constraint fk_kch foreign key (课程号) references xs(课程号) on delete cascade on update cascade
);
3
创建和维护数据库等操作/命令行方式
操作要求:
1.创建数据库。
cascade:级联。
如果xs表的学号删除,则对应cj表的学号也删除。
如果xs表的学号更新,则对应cj表的学号也更新。
1.1使用SQL 语句创建数据库cjgl。
1.2查看数据库属性。
①利用SHOW DATABASES 命令显示当前的所有数据库。
②利用SHOW CREATE DATABASE 命令显示cjgl 数据库的状态。
1.3将数据库的字符编码改为utf8。
1.4选择数据库
①在命令行中选择cjgl数据库。
②用select database() 命令显示当前被打开的数据库。
1.5数据库备份
用命令行方式将cjgl数据库进行备份
导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
比如在命令行中输入命令 mysqldump -u root -p person >d:\person.sql
(如果导出单张表的话在数据库名后面输入表名即可)
1.6删除数据库。
① 使用SQL 语句删除cjgl 数据库。
②利用SHOW DATABASES 命令显示当前的所有数据库。
1.7数据库恢复
1.7.2用命令行方式将cjgl数据库进行恢复。
1.7.3导入数据库
1、进入MySQL
2、新建一个数据库,这时是空数据库,如新建一个名为person的目标数据库
3、输入:mysql>use 目标数据库名 如输入:mysql>use person;
4、导入文件:mysql>source 导入的文件名; 如输入:mysql>source d:/person.sql
分别用navicat工具和命令行方式在cjgl数据库中完成如下操作:
(用navicat,新建数据库:cjgl)
#create database cjgl;
#use cjgl;
#show create database cjgl;
#show databases;
一、 1. 建名为xs的学生表 ,xs表字段要求如下:
学号 char(6) 主键 not null
姓名 varchar(8) not null
专业名 varchar(20) null
性别 char(2) not null 默认值:'男'
出生日期 date not null
总学分 tinyint null
备注 text null
2.查看表的结构和创建代码,查看当前库中所有已建的表。
#show tables;(查看表必须 先进入数据库)
#show create table xs; 查看表结构
#desc xs; 常用
#show columns from xs;
3.修改xs表的列‘总学分’数据类型为smallint。
#alter table xs modify 总学分 smallint;
4.将xs表的字符集改为utf8,然后再改为gb2312。
#
5.将xs表的出生日期改名为出生时间。
#alter table xs change 出生日期 出生时间 date;
6.在xs表中添加一个‘联系电话’字段,char(11),null。然后删除这个字段。
#alter table xs add 联系电话 char(11) null;
7.将xs表复制,复制后的表名为xsbk。
8.将表xsbk 的存储引擎改为myisam,并查看改否。
9.将表xsbk重命名为xs_bk。
10.删除xs_bk表。
二、 建名为kc的课程表 ,kc表字段要求如下:
课程号 char(3) 主键 not null
课程名 varchar(20) not null 不能有重复值(唯一约束)
开课学期 tinyint not null 默认值:1
学分 tinyint null
三、建名为cj的成绩表 ,cj表字段要求如下:
学号 char(6) 外键:(xs) 表的学号
课程号 char(3) 外键:(kc) 表的课程号
成绩 decimal(3,1) null
其中,学号与课程号一起作为主键。
操作要求:
1.创建数据库。
#create database cjgl;
2.使用SQL 语句创建数据库cjgl。
3.查看数据库属性。
#show databases;
用SHOW DATABASES 命令显示当前的所有数据库。
#show create database cjgl;
用SHOW CREATE DATABASE 命令显示cjgl 数据库的状态。
(3)将数据库的字符编码改为utf8。
#set names gbk;
(4)选择数据库
①在命令行中选择cjgl数据库。
②用select database() 命令显示当前被打开的数据库。
(5)数据库备份
②用命令行方式将cjgl数据库进行备份
导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
比如在命令行中输入命令 mysqldump -u root -p person >d:\person.sql
(如果导出单张表的话在数据库名后面输入表名即可)
(6)删除数据库。
① 使用SQL 语句删除cjgl 数据库。
②利用SHOW DATABASES 命令显示当前的所有数据库。
(7)数据库恢复
②用命令行方式将cjgl数据库进行恢复。
导入数据库
1、进入MySQL
2、新建一个数据库,这时是空数据库,如新建一个名为person的目标数据库
3、输入:mysql>use 目标数据库名 如输入:mysql>use person;
4、导入文件:mysql>source 导入的文件名; 如输入:mysql>source d:/person.sql
四做疫情数据的表格
gj (国家)
列名 |
数据类型 |
允许null值 |
约束 |
备注 |
Country code |
Int |
不允许 |
主键 |
国家代码 |
Country name |
Varchar(20) |
不允许 |
国家名字 |
dq(地区)
列名 |
数据类型 |
允许NULL值 |
约束 |
备注 |
Did |
Int |
不允许 |
序号 |
|
Region code |
Int |
不允许 |
主键 |
地区代码 |
Region name |
Varchar(20) |
不允许 |
地区名称 |
sj (数据)
列名 |
数据类型 |
允许null值 |
约束 |
备注 |
Sid |
Int |
不允许 |
主键 |
序号 |
Region code |
int |
不允许 |
外键(Region code) |
地区代码 |
Country code |
Int |
不允许 |
外键(Country code) |
国家代码 |
Total cases() |
Long |
允许 |
累计总数 |
|
Total deaths |
long |
允许 |
累计死亡总数 |
|
Total vaccine dose administered |
Long |
允许 |
接种疫苗总数 |
|
28-day cases |
long |
允许 |
近28天确诊总数 |
|
28-day deaths |
long |
允许 |
近28天累计死亡 |
|
28-day vaccine dose administered |
long |
允许 |
近28天累计接种疫苗总数 |
|
Date time |
date |
不允许 |
截至日期 |
|
第八周周五
1.将xs表中王元的专业改为“智能建筑”。
# update xs set 专业名='智能建筑' where 姓名='王元';
# select * from xs where 姓名='王元';
2.把李伟的出生时间改为'1999-2-5'。
# update xs set 出生日期='1999-2-5' where 姓名='李伟';
3.把每门课的学分增加1分。把软件工程课的学分增加2分。
#update kc set 学分=学分+1;
# update kc set 学分=学分+2 where 课程名=’软件工程’;
4.将cj中的成绩分5个档,0-20为5档,20-40为4档,依此类推,每20分一档。在cj表添加一列“档次”,使用update命令填入各成绩档次。
#alter table cj add 档次 tinyint null;
#update cj
set 档次=(case
when 成绩>=0 and 成绩<20 then 5
when 成绩>=20 and 成绩<40 then 4
when 成绩>=40 and 成绩<60 then 3
when 成绩>=60 and 成绩<80 then 2
when 成绩>=80 and 成绩<=100 then 1
end);
5.删除xs中姓名为‘白天东’的记录。
# delete from xs where 姓名=’白天东’;
第九周周二
uid char(4) not null primary key,
uname varchar(20),
email varchar(20),
tnum varchar(15),
score int);
alter table user add 联系地址 varchar(50);
第九周周五
第十周周二
一、查询表中所有的列(用通配符*)
1.在学生成绩管理数据库cjgl中,查询学生表xs中每位同学的情况。
#use cjgl;
#select * from xs;
2.在学生成绩管理数据库cjgl中,查询课程表kc中每门课的情况。
#select * from kc;
二、查询表中指定的列(用as可重新指定列名,as可省略)
1.在学生成绩管理数据库cjgl中,查询学生表xs每位同学的姓名、性别、出生时间、专业。
#select 姓名,性别,出生日期 as 出生时间, 专业名 as 专业 from xs;
2.在学生成绩管理数据库cjgl中,查询课程表kc中每门课的课程名、学分。
#select 课程名,学分 from kc;
三、查询经过计算的列
1.在学生成绩管理数据库cjgl中,查询学生表xs中每位同学的学号、姓名、年龄。(用到year()、 CURDATE()或now()函数)
#select 姓名,学号, year(now())-year(出生日期) as 年龄 from xs;
2.在学生成绩管理数据库cjgl中,查询出学分对应的课程学时数(假设1学分计18学时)
#select 课程名,学分*18 as 学时 from kc;
四、消除重复行
1.在学生成绩管理数据库cjgl中,查询选修了课程的学生学号(无重复学号)。
#select distinct 学号 from cj;
2.在学生成绩管理数据库cjgl中,查询学生表xs中各专业名称(无重复专业名称)。#
五、限制返回行数
1.在学生成绩管理数据库cjgl中,查询课程表kc中前3行记录。
select * from kc limit 3
2.在学生成绩管理数据库cjgl中,查询学生表xs中从第6个记录开始3行记录。(注意第一条记录位置是0)
select * from xs limit 5,3
--------------------------------------------------------------------------------------------------2
一、表达式比较
1.在学生成绩管理数据库cjgl中,查询软件技术专业的学生情况。
2.在学生成绩管理数据库cjgl中,查询软件技术专业男同学的情况。
3.在学生成绩管理数据库cjgl中,查询出年满27岁的学生信息。
二、范围比较
1.在学生成绩管理数据库cjgl中,查询1990年出生的学生情况。
2.在学生成绩管理数据库cjgl中,查询成绩表cj中成绩不在70--80之间的记录。
三、确定集合
1. 在学生成绩管理数据库cjgl中,查询选了课程号为“101”或“102”的同学学号。
2.在学生成绩管理数据库cjgl中,查询姓名为王元、王稼祥、程周杰的同学。
四、模式匹配
1.在学生成绩管理数据库cjgl中,查找所有王姓同学的学号和姓名;
2.查询姓名中第2个汉字是“长”的同学的学号和姓名。
五、空值判断
1.在学生成绩管理数据库cjgl中,查询没有考试成绩的学生的学号和相应的课程号。
2.在学生成绩管理数据库cjgl中,查询学生表xs中没有备注内容的学生学号、姓名。
【mysql3】我的大学teacher课程进行中|持续更新系列!的更多相关文章
- angular+ionic+cordova(实战项目开发中,持续更新自己学到的和遇到的)
最近公司开始准备做app了,大佬选择了angular+ionic+corvoda的开发结构,但是对于刚刚才开始对angular才有一点点感觉的我,就像是被一击闷棍敲了,半天没反应过来,emmm,怎么办 ...
- PHP开发过程中数组汇总 [ 持续更新系列 ]
开发过程中经常会使用到数组函数,故特地总结出来,自己熟悉,同时供大家参考!(实例部分会抽空尽快完成) 一.目录 array_merge(); 合并数组 array_keys(); array_filt ...
- 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)
我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...
- Vue.js2.0中的变化(持续更新中)
最近自己在学习Vue.js,在看一些课程的时候可能Vue更新太块了导致课程所讲知识和现在Vue的版本不符,从而报错,我会在以后的帖子持续更新Vue的变化与更新,大家也可以一起交流,共同监督学习! 1. ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Atom使用记录(持续更新中)
部分内容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持续更新中 Atom安装插件在窗口中File---Setting---install 在里面进 ...
- Pig基础学习【持续更新中】
*本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...
- Pig语言基础-【持续更新中】
***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.*** Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...
- java视频教程 Java自学视频整理(持续更新中...)
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
随机推荐
- jquery获取一个元素符合条件的第一个父元素
closest jQuery 1.3新增.从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素.. closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身.如果不匹配则向上查找父元素 ...
- rationrose安装步骤
Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具.用于可视化建模和公司级水平软件应用的组件构造. 就像一个戏剧导演设计一个剧本一样,一个软件设计师使用R ...
- Jmeter系列(22)- 常用逻辑控制器(1) | 随机控制器Random Controller
随机控制器(Random Controller) 该控制器下的请求,请求顺序随机,适用场景一般为顺序性依赖不强的请求,比如:下载文件:浏览商品:访问查询接口 随机控制器下的请求随机,如果勾选了[忽略控 ...
- 浏览器+css基础+选择器+权重+匹配规则
浏览器的组成: shell+内核 shell:用户能看得到的界面就叫shell 内核:渲染rendering引擎和js引擎 现在主流拥有自己开发内核的浏览器:opera现在属于360和昆仑万维 CSS ...
- 做PPT总是很难找到好看、有质感的图片,怎么办?
1.制作PPT时,要想提升整体质感,就需要插入一些图片.当你进入到这个阶段,就意味着你剩下用来做PPT的时间,可能比较紧张了.所以,你的重中之重是,在最短的时间内找到合适的照片. 2.想快速找到好看. ...
- 字体小于12px 无法缩小解决方案
通过缩放进行大小控制. 缩放可能会导致元素也进行缩放.需要注意 transform: scale(0.5);
- P3313-[SDOI2014]旅行【树链剖分,线段树】
正题 题目链接:https://www.luogu.com.cn/problem/P3313 题目大意 \(n\)个点的一棵树,每个点有一个颜色和权值,有操作 修改一个点的权值 修改一个点的颜色 询问 ...
- CF990G-GCD Counting【dfs】
正题 题目链接:https://www.luogu.com.cn/problem/CF990G 题目大意 给出一棵有点权的树,对于每个\(k\)求有多条路径的点权\(gcd\)为\(k\) \(1\l ...
- ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️
@ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...
- Springboot2.0整合Redis(注解开发)
一. pom.xm文件引入对应jar包 <dependency> <groupId>org.springframework.boot</groupId> <a ...