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. pycharm 增删改查 mysql数据库

    1.pycharm创建mysql数据表######################################################import pymysql# 创建连接con = p ...

  2. LR11自带网站

    LR自带的飞机订票系统 启动服务:安装路径\HP\LoadRunner\WebTours下的StartServer.bat 打开网页:地址  http://127.0.0.1:1080/WebTour ...

  3. P2350-[HAOI2012]外星人【线性筛】

    正题 题目链接:https://www.luogu.com.cn/problem/P2350 题目大意 给出\(N\)质因数分解之后的结果,求每次\(N=\varphi(N)\),多少次后\(N=1\ ...

  4. 自学 Python,视频教程和代码一看就懂,动手就废,应该这么学

    ​ 一.代码量太少了,看得多做得少,导致一做就错. 每一个测试工程师必定是在大量的时间和代码中提升的自己,如果你只是看视频的话,那永远都停留在理论上,很多问题是要实践才能发现的 我打个比方你看视频的时 ...

  5. Ubuntu-mate-20.04-desktop安装总结

    ubuntu-mate-20.04-desktop效果先展示下: Ubuntu用MATE桌面环境同时配合compiz 窗口管理器是目前为止得到的桌面中最喜欢的样式 一.ubuntu-mate官网下载i ...

  6. 3.docker容器常用命令

    docker容器的常用命令 docker有很多命令,让我们一个一个全部背下来,基本是不可能的,帮助文档的作用就很大了,想要查询那个命令,直接去找帮助文档,帮助文档地址:https://docs.doc ...

  7. 5分钟实现用docker搭建Redis集群模式和哨兵模式

    如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...

  8. Google Style Guides

    Google Style Guides Google Style Guides Google 开源项目风格指南 (zh-google-styleguide.readthedocs.io)

  9. WSL (Windows Subsystem for Linux)

    WSL (Windows Subsystem for Linux) :适用于 Linux 的 Windows 子系统. References Install WSL with a single com ...

  10. flask 之 请求钩子

    请求钩子 什么是请求钩子? 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要统一处理,为了让每个视图函数避免编写重复功能的代码,flask提供了统一的接口可以添加这些处理函数,即请求钩子. f ...