• 【Mysql】数据库的基本操作和表的增删改查


    本章内容是,用sql语言实现对数据库的基本操作和表的基本操作


    前言

    sql语句这里知识点不难,但是很多,需要时常练习复习,否则很快就忘了.大家可以收藏本篇文章,时时巩固复习.打开你的Mysql,我们开始啦~


    1. 数据库的基本操作

    1.1 创建数据库

    1. 创建数据库的语句
    create  database 数据库名;
    
    • 1

    如下图,显示OK,就是创建好了.
    分号" ; " 是一条sql语句结束的标志.
    在这里插入图片描述
    2. 创建数据库是不允许出现重名数据库的,所以,这里有创建数据库时,防止名字重复的创建数据库语句.若是输入已经存在的名字,系统不会报错,只是不会执行该数据库创建语句.

    create database if not exists 数据库名
    
    • 1

    如下图
    在这里插入图片描述
    3. 创建数据库时指定字符集
    数据库中,一个汉子占几个字节取决于字符集.我们数据库通常使用utf-8字符集,utf-8中,汉子一般占3字节,支持各种语言文字,但utf-8不能表示表情,utf8b4可以表示表情

    create database 数据库名 charset utf8;
    
    • 1

    在这里插入图片描述

    1.2 查看数据库

    我们来看看自己有哪些数据库吧~
    展示数据库语句.注意后面的databases,要变复数.

    show databases;
    
    • 1

    如下图
    在这里插入图片描述

    1.3 选中数据库

    我们要对数据库中的表进行操作时,首先要选中数据库.

    use 数据库名;
    
    • 1

    如下图
    在这里插入图片描述

    1.4 删除数据库

    首先,这是一个非常危险的操作,尤其是生产环境的数据库,一旦删除重要信息,可能会造成很严重的损失.
    删库语句

    drop database 数据库名;
    
    • 1

    如图,一定要谨慎!!!
    在这里插入图片描述

    2. 数据库基本数据类型

    数据字母不区分大小写
    以下为常用数据结构介绍.由于decimal无精度丢失,所以可以用来表示钱数.
    varchar(SIZE),size要考虑的是里面字符的个数,比如要记录班级同学名字,名字最长有四个字,那size为4即可.

    数据类型大小对应java类型说明
    int4字节Integer
    float(M,D)4字节float单精度,M为指定长度,D为小数点位数,有精度丢失
    double(M,D)8字节double
    decimal(M,D)M/D最大值+2BigDecimal双精度,M为指定位数,D为小数点位数,无精度丢失
    varchar(SIZE)size为允许字符的最多个数string常用字符串类型

    3. 表的基本操作

    3.1 创建表

    首先,在操作表时,要指定是哪个数据库.

    use 数据库名;
    create table 表名(列名1 列类型, 列名2 列类型,.....)
    
    • 1
    • 2

    如下图,创建了一个student表,列有学号,名字,性别.
    在这里插入图片描述

    3.2 显示数据库中的表

    来看看自己数据库的表吧~

    show tables;
    
    • 1

    在这里插入图片描述

    3.3 查看表的构造

    这个操作,是查看表的结构,有哪些列,列的类型是什么

    desc 表名;
    
    • 1

    如下图.
    在这里插入图片描述

    3.4 删表

    同样,这个也是极其危险的操作,删表需谨慎!!!

    drop table 表名;
    
    • 1

    如下图

    4. 表的增删改查

    4.1 增加数据

    insert into 表名 values(值1,值2....);
    
    • 1

    如下图,插入了三个数据.
    字符串用单引号’',或者双引号""括起来都可以.
    在这里插入图片描述
    指定列插入,直插入指定的列,未被插入的列为null.

    insert into 表名 (列名1,列名2) values(值1,值2);
    
    • 1

    如下图.
    在这里插入图片描述

    4.2 删除数据

    删除数据语句

    delete from 表名 where 条件;
    
    • 1

    危险操作!!!这里的删除是直接删除硬盘里的数据.
    如下图,删除阿三同学的数据.
    在这里插入图片描述

    4.3 查询数据

    1.全列查询

    select * from 表名;
    
    • 1

    " * "是通配符,表示所有的列
    在这里插入图片描述
    注意,这个操作有一定危险性,select * 会遍历所有数据,而公司中数据库数值巨大,数据都需要从硬盘中读出来,所以硬盘容易被占满,而会影响他人对数据库的使用.

    限制查询出来的语句数目,这个方法可以避免查询出来的数据过多的问题.

    select * from score limit n;
    
    • 1

    在这里插入图片描述

    2.指定列查询

    select 列名 from表名;
    
    • 1

    如图,只看name这一列
    在这里插入图片描述
    3.查询时,对列进行修改
    如图,在查询数学成绩时加了10,
    需要注意的是,这个查询出来的是临时表,这里的改动不会对实际表有什么影响,相当于形参不改变实参的值.
    在这里插入图片描述
    4.查询总成绩
    如图,查询三人总成绩,并给总成绩起了一个别名total.
    在这里插入图片描述
    5.查询时去重

    select distinct 列名 from表;
    
    • 1

    如下图,去掉了语文成绩重复的数据,这里,若是指定多个列,必须这些列的值都重复,才算重复,才能去重.
    在这里插入图片描述
    6.查询时,对查询出来的结果进行排序

    根据语文成绩进行升序排序.

    select * from score order by chinese;
    
    • 1

    根据语文成绩降序排序,这里的desc指的是单词descend,下降.

    select * from score order by chinese desc;
    
    • 1

    在这里插入图片描述
    注意,如果排序的值有null,则null视为最小的值.
    null与任何值进行运算都是null;这里的任何运算包括逻辑运算和算术运算.如下图,
    chinese + null = null.
    在这里插入图片描述
    注意:多列排序时,先以第一列为主,若第一列值相等,再比较第二列.方法与比较字符串大小类似.
    7.条件查询.

    select * from score where 条件;
    
    • 1

    如下图,查询语文成绩大于80的同学.
    在这里插入图片描述

    4.4 数据库运算

    4.4.1 比较运算符

    1.普通的>,<.=正常使用.注意,因为判断null == null,也等于null,为假.所以,null之间的相等判断使用运算符"<=>"

    2.between 值1 and 值2;这里是闭区间 [值1,值2]
    在这里插入图片描述
    3.in(值1,值2,…);
    只要值和可选值中的一个对应上即可.

    4.is null 与 is not null
    如图,查询name 不为null的数据
    在这里插入图片描述
    5.like 模糊匹配
    “阿%” 代表只要以阿开头的字符串即可匹配,"%“可代表任意一个字符串,空也可以
    “阿_” 代表阿后面有一个字符的可以匹配,”_"代表有一个字符.
    “_阿” 代表阿前面有一个字符的可以匹配
    “%阿%” 代表包含阿即可

    4.4.2 逻辑运算符

    1.and,是逻辑中的与&&
    2.or,是逻辑中的或||
    3.not,是逻辑中的非!
    实例如下图
    在这里插入图片描述
    在这里插入图片描述

    4.5 更新数据

    这里的更新数据,是直接修改硬盘里的数据,持久生效.

    update 表名 set 列名 where 条件;
    
    • 1

    如下图,修改阿恒同学的数学成绩.
    在这里插入图片描述
    使用表达式进行修改

    update 表 set 表达式 where 条件;
    
    • 1

    如下图,给摆烂的同学数学成绩加10分.加分,谁摆烂给谁加,看谁还卷我o(╥﹏╥)o
    在这里插入图片描述
    修改多个列
    如图,继续支持摆烂同学,给摆烂同学的语文和英语成绩加10 摆烂同学还是没及格,适当摆烂,有益身心健康
    在这里插入图片描述

  • 相关阅读:
    vue3+webpack+elementplus+国际化+axios封装+pinia
    【JavaEE初阶】多线程 _ 基础篇 _ 阻塞队列(案例二)
    第七章第一节:顺序查找和折半查找
    Linux系统yum安装拓展
    Cilium系列-15-7层网络CiliumNetworkPolicy简介
    内网windows实现同步时钟
    基础漏洞练习
    【Spring Boot 源码学习】OnClassCondition 详解
    【MindSpore易点通】网络构建经验总结下篇
    MySQL系统变量之lc_time_names语言环境
  • 原文地址:https://blog.csdn.net/scsery/article/details/128057266