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

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


前言

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


1. 数据库的基本操作

1.1 创建数据库

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

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

create database if not exists 数据库名

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

create database 数据库名 charset utf8;

在这里插入图片描述

1.2 查看数据库

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

show databases;

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

1.3 选中数据库

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

use 数据库名;

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

1.4 删除数据库

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

drop database 数据库名;

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

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 列类型,.....)

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

3.2 显示数据库中的表

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

show tables;

在这里插入图片描述

3.3 查看表的构造

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

desc 表名;

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

3.4 删表

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

drop table 表名;

如下图

4. 表的增删改查

4.1 增加数据

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

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

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

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

4.2 删除数据

删除数据语句

delete from 表名 where 条件;

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

4.3 查询数据

1.全列查询

select * from 表名;

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

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

select * from score limit n;

在这里插入图片描述

2.指定列查询

select 列名 from表名;

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

select distinct 列名 from表;

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

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

select * from score order by chinese;

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

select * from score order by chinese desc;

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

select * from score where 条件;

如下图,查询语文成绩大于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 条件;

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

update 表 set 表达式 where 条件;

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值