1.做一下powerdesigner的画图

2.所有的创建表格

.....1

修改字段的数据类型:
alter table 表名 modify 字段名 新数据类型;

修改字段名:
alter table 表名 change 旧字段名 新字段名 新数据类型;

...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 姓名=’白天东’;

九周周

1.将xs表中李长江的专业改为“软件技术”。
#update xs set 专业名='软件技术' where 姓名='李长江';
 
2.将课程号为'101'的成绩+2分
#update kc set 学分=学分+2 where 课程号=101;
 
3.
create table lib(
uid char(4) not null primary key,
uname varchar(20),
email varchar(20),
tnum varchar(15),
score int);
 
4.
create table category(
cid int not null primary key comment '类别编号',
cname varchar(16) comment '类别名称' 
);
 
5.

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课程进行中|持续更新系列!的更多相关文章

  1. angular+ionic+cordova(实战项目开发中,持续更新自己学到的和遇到的)

    最近公司开始准备做app了,大佬选择了angular+ionic+corvoda的开发结构,但是对于刚刚才开始对angular才有一点点感觉的我,就像是被一击闷棍敲了,半天没反应过来,emmm,怎么办 ...

  2. PHP开发过程中数组汇总 [ 持续更新系列 ]

    开发过程中经常会使用到数组函数,故特地总结出来,自己熟悉,同时供大家参考!(实例部分会抽空尽快完成) 一.目录 array_merge(); 合并数组 array_keys(); array_filt ...

  3. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

  4. Vue.js2.0中的变化(持续更新中)

    最近自己在学习Vue.js,在看一些课程的时候可能Vue更新太块了导致课程所讲知识和现在Vue的版本不符,从而报错,我会在以后的帖子持续更新Vue的变化与更新,大家也可以一起交流,共同监督学习! 1. ...

  5. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  6. Atom使用记录(持续更新中)

    部分内容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持续更新中 Atom安装插件在窗口中File---Setting---install 在里面进 ...

  7. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  8. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  9. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

随机推荐

  1. jquery获取一个元素符合条件的第一个父元素

    closest jQuery 1.3新增.从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素.. closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身.如果不匹配则向上查找父元素 ...

  2. rationrose安装步骤

    Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具.用于可视化建模和公司级水平软件应用的组件构造. 就像一个戏剧导演设计一个剧本一样,一个软件设计师使用R ...

  3. Jmeter系列(22)- 常用逻辑控制器(1) | 随机控制器Random Controller

    随机控制器(Random Controller) 该控制器下的请求,请求顺序随机,适用场景一般为顺序性依赖不强的请求,比如:下载文件:浏览商品:访问查询接口 随机控制器下的请求随机,如果勾选了[忽略控 ...

  4. 浏览器+css基础+选择器+权重+匹配规则

    浏览器的组成: shell+内核 shell:用户能看得到的界面就叫shell 内核:渲染rendering引擎和js引擎 现在主流拥有自己开发内核的浏览器:opera现在属于360和昆仑万维 CSS ...

  5. 做PPT总是很难找到好看、有质感的图片,怎么办?

    1.制作PPT时,要想提升整体质感,就需要插入一些图片.当你进入到这个阶段,就意味着你剩下用来做PPT的时间,可能比较紧张了.所以,你的重中之重是,在最短的时间内找到合适的照片. 2.想快速找到好看. ...

  6. 字体小于12px 无法缩小解决方案

    通过缩放进行大小控制. 缩放可能会导致元素也进行缩放.需要注意 transform: scale(0.5);

  7. P3313-[SDOI2014]旅行【树链剖分,线段树】

    正题 题目链接:https://www.luogu.com.cn/problem/P3313 题目大意 \(n\)个点的一棵树,每个点有一个颜色和权值,有操作 修改一个点的权值 修改一个点的颜色 询问 ...

  8. CF990G-GCD Counting【dfs】

    正题 题目链接:https://www.luogu.com.cn/problem/CF990G 题目大意 给出一棵有点权的树,对于每个\(k\)求有多条路径的点权\(gcd\)为\(k\) \(1\l ...

  9. ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️

    @ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...

  10. Springboot2.0整合Redis(注解开发)

    一. pom.xm文件引入对应jar包 <dependency> <groupId>org.springframework.boot</groupId> <a ...