NAVICAT的使用,MySQL数据库表的操作,创建,结构,修改,删除,模拟练习

前言❤️❤️

hello hello💕,这里是洋不写bug~😄,欢迎大家点赞👍👍,关注😍😍,收藏🌹🌹
在上篇博客提到的数据库的数据类型,就是为了讲解表的操作来准备的,上篇数据类型博客的链接放在下面了,需要的自取🐵
这篇博客中,不再在mysql命令行工具上写代码,而是直接在NAVICAT中写,这样会更加方便一些
请添加图片描述
🎇个人主页:洋不写bug的博客
🎇所属专栏:数据库
🎇mysql8.0和navicate的安装:mysql安装教程
🎇复习数据类型知识:数据库数据类型博客
🎇铁汁们对于MySQL数据库的各种常用核心语法,都可以在上面的数据库专栏学习,专栏正在持续更新中🐵🐵,有问题可以写在评论区或者私信我哦~

1,NAVICAT的使用

在安装完MySQL后,计算机上就有了MySQL服务,能够管理很多个数据库
每个数据库中又管理着很多个表
每个表中有很多数据行(每个数据行相当于Java中的一个对象)
数据行是由多个列组成的



在NAVICAT中看下数据库,我们点击左上角的新建查询,就可以写代码了(如果不太清楚怎么连接数据库的可以看这个系列的第一篇环境搭建博客🐵)

在这里插入图片描述



查询下当前已有的数据库
这里跟命令行工具不一样,写完一段指令后,需要选中这段指令去运行,可以点击上面执行已选择的,也可以去按快捷键 ctrl + r
在NAVICAT上一定要选中指令再去运行,不要直接点击运行,因为点击运行,是把你前面写过的指令都再运行一遍,这样数据库就很容易乱套

在这里插入图片描述


注释跟IDEA中一样,也是按ctrl 键加/,给一段文字注释,但这里的注释是前面加两个横杠,还有几种注释方式,比如说前面加个‘#’,也表示注释;还可以用/* * /进行多行注释

在这里插入图片描述

2,选中一个数据库进行操作

在博主当前的计算机上,除了系统库,还有个自己创建的first_database库,系统库不能动,表的各种操作要在就在自己创建的first_database库中进行

在这里插入图片描述


但是对表的操作(例如创建表),系统如何知道我们在哪个数据库中进行,这就需要选择下使用的数据库,创建新表时如果不事先声明在哪个数据库中创建,就会报错
用use + 数据库名,这个操作执行成功后,后续所有的操作都是在这个库中进行的

在这里插入图片描述


在NAVICAT中新建连接后可以在这里直接选择数据库,后续在这个连接中的各种操作都是在这个选择的数据库中执行的(还是要记得前面的命令的,这样在mysql命令行工具中也能创建表)

在这里插入图片描述

3,表的创建

1,创建语法

在这里插入图片描述

  • tbl_name就是给表起的名字
  • field就是列名
  • datatype是数据类型的意思,就是上篇数据库博客提到的那些
  • 后面的字符集,排序规则,一般是不用去写的,不写的话就默认跟数据库中的一样,写的话也只针对当前表生效。
  • 创建个有关用户的表

    在这里插入图片描述




    这样就创建了一个名为users的表。
    这里在小括号里写这些列名,那么这些列我们用合适的数据类型来存,comment 后加注解,注解要用英文单引号来包括,前面几个最后都加逗号,最后一个不用加,最后要加一个分号(这里的关键字不分大小写,我这里自动补充的是大写,我就写成大写了)
    我们选中这段指令运行一下,如果下面显示OK就说明已经创建成功了

    在这里插入图片描述

    2,列名或表名与关键字的冲突

    那刚刚创建的table表中其实有个不太严谨的地方,大家可以再翻到前面仔细看下:
    我们发现,password列名是蓝色的,而只有关键字才是蓝色的,这里其实我们不管,也不会出错,还是把password当作列名来处理了,但是如果要更严谨一些的话,就可以在password左右加上` ,标记它是一个列名,这样就不会跟关键字一个颜色

    在这里插入图片描述



    那这里列名跟关键字重复其实不加`` ,也是正常处理的,那如果我们的表名跟关键字重复了,会报错吗???
    尝试一下:

    在这里插入图片描述

    我们运行看下结果:
    在这里插入图片描述



    这里就会报错,我们看下错误的信息,这里就提示错误在create附近,那显然这样是不行的,我们再加上`,看下结果:

    在这里插入图片描述

    这时候就运行正常了,我们右键点击一下刷新,会看到在这个数据库下的这个表

    3,表的文件显示

    我们可以查询下这个表

    在这里插入图片描述

    那就看到了这个表,有时候我们不确定同事有没有创建表,就可以show看一下



    我们现在创建表,默认使用的引擎就是INOODB,那我们再创建个表,指定为MyISAM引擎,这里就不写注解了,只是演示一下。

    CREATE TABLE t_myisam(
       id BIGINT,
       `name` VARCHAR(32)
    )ENGINE = Myisam;
    

    在这里插入图片描述

    我们在电脑上按照这个路径查找到表的存储位置,C盘的ProgrameData是隐藏目录,我们要在显示中把这个调为可见

    在这里插入图片描述

    在这里插入图片描述

    4,查看表的结构

    我们输入desc + 表名,就可以查看表的结构

    在这里插入图片描述

    在这里插入图片描述


    在NAVICAT中还有一种更简单的方法,那就是右键这个表,打开设计表,可以快捷看到表的信息,如下图

    在这里插入图片描述

    5,表的修改

    先大概看下语法,方便后面的讲解(如下图)

    在这里插入图片描述



    比如说,向user这个表的密码这列后面添加一列assets,表示头像地址:
    注:这里如果我们不指定加到哪里,那就是默认加到表的末尾,如下图:

    alter table users add assets varchar(255) comment '头像地址'  after password;
    

    在这里插入图片描述



    调整下assets的位置,使用modify,把这个assets调到birthday的后面,如下图:

    alter table users modify assets varchar(255) comment '头像地址' after birthday;
    

    在这里插入图片描述



    接下来可以把这个assets重命名为avatar(头像),看下设计表,也修改成功了。

    alter table users rename COLUMN assets TO avatar;
    

    在这里插入图片描述


    也可以两个操作一起搞,删除avatar这一列,再给user这个表重命名,中间的操作用逗号隔开,也是能修改成功的,如下图:

    alter table users drop avatar,rename user01;
    

    在这里插入图片描述





    还有一种更加简单快捷的方式,就是直接在设计表这个页面进行各种修改,可以添加列名,修改参数,删除等等。
    在这里插入图片描述

    6,表的删除

    这个是个比较危险的操作,大家在删除一个表之前一定要慎重考虑,这里对应文件来学习这个操作

    在这里插入图片描述


    按照这个路径打开,会发现这里创建的first_database数据库中有三个表(分别是create表,user01表,t_mysiam表)

    在这里插入图片描述




    删除一下 t_myisam这个表,接着再看下这个目录中的内容,就会发现与这个表有关的三个文件都被删除了。

    drop table if exists t_myisam;
    

    在这里插入图片描述

    7,模拟日常情况的练习

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    这里需要新创建一个数据库,里面有三个表,表中的列名,数据类型都已经给出了, 建议铁汁们先不看下面写的sql语句,先模拟练习一下:




    先创建一个数据库,并且使用这个数据库,接下来创建这三个表

    create database if not exists store;
    
    use store;
    
    create table if not exists goods(
       id bigint COMMENT '商品编号',
        `name` VARCHAR(50) COMMENT '商品名',
       unitprice decimal(12,2) COMMENT '零售单价',
       costprice decimal(12,2) COMMENT '成本价',
       category VARCHAR(20) COMMENT '商品类型',
       provider VARCHAR(50) COMMENT '供应商'
    )
    
    create table if not exists customer(
        id bigint COMMENT '客户编号',
        `name` VARCHAR(20) COMMENT '客户姓名',
        gender bool COMMENT '性别',
        phone_num VARCHAR(20) COMMENT '电话号码',
        email VARCHAR(50) COMMENT '电子邮件',
        address VARCHAR(255) COMMENT '地址',
        create_time DATETIME  COMMENT '注册时间'
    )
    
    create table if not exists purchase(
      other_id varchar(32) COMMENT '订单编号',
      customer_id bigint COMMENT '客户编号',
      goods_id bigint COMMENT '商品编号',
      nums int COMMENT '购买商品数量',
      amount decimal(12,2) COMMENT '总金额',
      create_time datetime COMMENT '订单生成时间'
    )
    

    铁汁们可以写一个表,选中运行一次,这样哪里标点字母有错什么的,也能很快得到解决

    结语💕💕

    这部分是数据库中最基础的知识,因为数据库的操作都是以表为基础的,刚入门数据库的铁汁建议多敲代码,多练习,很快就会掌握这部分知识💪
    在工作中,日常拿到一个要求表,完全可以发给ai,让ai给我们生成sql语句,进而大大提升编程效率🐵
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值