MySQL的详细讲解与示例(结合Navicat for MySQL软件)
看了好多关于MySQL的博客,好像都没有跟Navicat for MySQL详细结合的,第一次写博客,欢迎批评指正。
MySQL版本8.0.3
Navicat可以使用界面点点点直接创建数据库、对表进行增删改查,这个操作较为简单,不是本篇博客讲解的重点,我们的重点是介绍如何在Navicat for MySQL中使用命令行对数据库、表进行操作。
1.创建数据库
右击“MySQL80”服务器,选择“命令列界面”
输入:create database campus;
右击“MySQL80”服务器,选择“刷新”就能看到。
2.删除数据库
drop database campus;
同样需要刷新。
3.新建student表
右击“campus”数据库,选择“命令列界面”
student表:
sno(学号,字符串7,主码)
sname(姓名,字符串10,非空)
ssex(性别,字符串2,默认取“男”或“女”)
sage(年龄,整数,取值15~45)
sdept(所在院系,字符串20,默认取“计算机系”)
输入:
create table stuent(
-> sno varchar(7) primary key,
-> sname varchar(10) not null,
-> ssex varchar(2) check(ssex='男' or ssex='女'),
-> sage int check(sage between 15 and 45),
-> sdedpt varchar(20) default '计算机系' );
新建之后,需要刷新“表”
4. 新建course表
course表:
cno(课程号,字符串10,主码)
cname(课程名,字符串20,非空)
credit(学分,整数,取值大于0)
semester(学期,整数,取值大于0)
period(学时,整数,取值大于0)
输入:
create table course(
-> cno varchar(10) primary key,
-> cname varchar(20) not null,
-> ccredit integer check(ccredit>0),
-> semester integer check(semester>0),
-> period integer check(period>0));
新建sc表
sc表:
sno(学号,字符串7,主码,引用student的外码)
cno(课程号,字符串10,主码,引用course的外码)
grade(成绩,整数,取值0~10)
输入:
后续更新
删除数据表
目标:删除course表
输入:drop table course;
修改数据表
目标:将course表中cno的字符串长度由10改为20,
输入:alter table course change cno cno varchar(10);
错误输入: alter table course change cno cno varchar(10) primary key;(显示修改失败,主键已经定义过,不需要修改)