MySQL的基本操作

目录

一、数据库整体操作

1.数据库

1.1创建:

1.2显示:

1.3删除

2.数据表

2.1创建

2.2显示

2.3删除

二、表中数据的增删查改(CURD)

1.增(insert into ...values)

2.查(select ... from)

2.1全列查询

2.2条件查询(where)

2.3分页查询(limit)

用法一:

用法二:

用法三

3.改(update...set)

3.删(delete)


注:代码关键字均以小写方式呈现,[]代表可加,也可不加。

一、数据库整体操作

1.数据库

1.1创建:

create database [if not exists] 数据库名 [character set utf8mb4];

方框只是标识,不是代码关键字,可加可不加,如果加入if not exists

存在这个数据库,不会报错。

character set utf8mb4 是用来规定数据库的字符集的,一般使用utf8在中国。

但带MySQL中不能直接支持utf8这套字符集,不过它提供了一个方法可以支持,也就是utf8mb4.

1.2显示:

 show databases;

1.3删除

drop database 数据库名;

2.数据表

2.1创建

创建一个表之前,要先创建一个数据库,然后选中(use)这个数据库:

use 数据库名;

表的创建:

create table 表名称(数据名 类型 , 数据名 类型 .......);

MySQL数据类型详解:【MySQL中的基本数据类型 - CSDN 】

在创建表时,可一个字段增加注释(单引号,双引号都可以):

comment '注释'

2.2显示

desc 表的名字;

desc是descrip(形容,修饰)的缩写

如果还要显示刚才增加的注释,还可以这样:

show full columns from 表名;

如果要显示一个数据库中含有那些表可以这样做:

show tables;

2.3修改(很少用,但也要了解)

修改表的操作实际上是很少发生的,而且本身这个操作也非常危险。

这部分内容可以当做一个字典,收藏起来,偶尔用到的话,回来看一下就会了,很简单。

对数据表的修改一般都是使用关键字"alter":

2.4删除

drop table [if exists] 表名;


二、表中数据的增删查改(CURD)

CRUD : Create(增), Retrieve(查),Update(改),Delete(删)

注:

下面的这些操作会创建临时表,不会对数据库中的数据进行修改。

1.增(insert into ...values)

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

数据插入的类型和顺序一定要和先前定义好的字段匹配。

也可以批量插入

建议批量插入,因为每一次操作数据库,都是客户端和服务器直接的交互,网络开销会很大,如果频繁收取和发送信息。

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

也可以只插入某几个字段,其他字段不插入,但是没有插入的数据默认为null

insert into student(字段1,字段2,...) values(数据1,数据2),(数据1,数据2),....;

英语和数学默认为null:

2.查(select ... from)

2.1全列查询

select * from 表名

*是通配符,代表查询所有列。

也可以只查询某几列:

select 字段名,字段名,... from 表名;

查询时也可以对列名进行重命名(不会修改数据库中的数据):

select 字段1 [as] 新名字,字段二 [as] 新名字,... from 表名;

注释:

as关键字(改名字)的使用包括但不限于全列查询,只是把他放到了这一小节来讲。

2.2条件查询(where)

可以设置查询条件:

select ... from 表名 where 条件;

例:

条件只要是一个表达式就可以,运算符不局限于‘<’‘>’:

运算符说明
< ,<=, >, >=小于,小于等于,大于,大于等于
=等于(null不安全表格后面具体解释
<=>等于(null安全
!=, <>不等于
between A0 and A1范围匹配,[A0, A1],如果 A0 <= 值 <= A1,返回 真
in (OPTION, ...)如果是 OPTION 中的任意一个,返回 真
is null是null
is not null不是null
like模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字 符
and并且:和C语言中的&&一样(MySQL也支持使用&&,不过推荐用and)
or或者:和C语言中的||一样(MySQL也支持使用||,不过推荐用or)
not

取反:和C语言中的!一样(MySQL也支持使用!,不过推荐用not)

以上运算符必须和where搭配来使用。

null不安全,如图:

老六的数学成绩是null

使用‘=’来查询数学成绩为null的学生会怎么样?

有点反常识,没有找到!这就是等号(=)的null不安全

对于‘<=>’则不同:

<=>能够查询得到值为null的数据,这就是null安全

注:

条件查询可以和其他查询方式搭配使用!

2.3分页查询(limit)

用法一:

从 0 开始,筛选 s 条结果

select ... from 表名 [where...] [order by...] limit S

S是要筛选出的行数

举例子,如图:

我们想从第五个人,也就是李四开始查询学生,那么可以:

注意:行号,是从0开始算的!

用法二:

从 s 开始,筛选 n 条结果

select .... from 表名 [where...] [order by...] limit s,n;

用法三

从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用

select ... from 表名 [where...] [order by...] limit n offset s;

如图为例:

3.改(update...set)

update 表名 set 列名=要更改的值 [where...] [order by...] [limit...];

注意:MySQL中不支持update和offset连用!


如图:​​​​​​

把老六的语文成绩改成83,英语成绩改成33:

把总成绩最低的同学的语文成绩加10分:

注意:order by默认排列升序,如果要排列降序使用 order by desc

desc是下降(descend)的缩写,不要和describe(查看表的属性字段)搞混
 

3.删(delete)

注意:

delete不同于上面的操作,它会真实删除数据库中的数据,操作一定要谨慎,不然进入按分钟计费的阶段了,

这可得不偿失!

delete from 表名  [where...] [order by...] [limit...]

如果表名后面不存在任何查找条件,那么会把表中所有数据删除,但是这个表仍然存在,变成一个空表。

如果没有where等条件,会直接把表中的所有数据删除:

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值