MySQL的详细讲解与示例(结合Navicat for MySQL软件)

        看了好多关于MySQL的博客,好像都没有跟Navicat for MySQL详细结合的,第一次写博客,欢迎批评指正MySQL的详细讲解与示例(结合Navicat for MySQL软件)



        MySQL版本8.0.3

        Navicat可以使用界面点点点直接创建数据库、对表进行增删改查,这个操作较为简单,不是本篇博客讲解的重点,我们的重点是介绍如何在Navicat for MySQL中使用命令行对数据库、表进行操作。


 

        1.创建数据库

        右击“MySQL80”服务器,选择“命令列界面”

        输入:create database campus;

        右击“MySQL80”服务器,选择“刷新”就能看到。

MySQL的详细讲解与示例(结合Navicat for MySQL软件)

        


        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 '计算机系' );

新建之后,需要刷新“表”  
MySQL的详细讲解与示例(结合Navicat for MySQL软件)

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;(显示修改失败,主键已经定义过,不需要修改)