每日一博|01 MySQL学习--数据库基础及表的增删改查

本文介绍了关系型数据库的基础知识,特别是MySQL中的操作,包括创建、使用、显示和删除数据库。此外,详细讲解了数值、日期和字符串等常用数据类型。还涵盖了表的操作,如创建、删除、查看结构、插入、更新和删除数据。最后,讨论了查询操作,如去重、排序、条件查询和分页查询,提供了各种操作的SQL语法示例。
摘要由CSDN通过智能技术生成
1 什么是数据库

以下学习的数据库均为关系型数据库(RDBMS),其中关系型数据库是指采用了关系模型来组织数据的数据库。

关系型模型可以看做二维表模型,而一个关系型数据库是由二维表及其之间的联系所构成的数据库组织。

2 数据库库的操作

2.1 创建数据库

语法:

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

  • […]是可选项
  • utf8mb4为数据库字符集,若不指定则默认字符集为utf8,然而MySQL中的utf8并不包含复杂的中文字符,而真正的utf8是指utf8mb4,故在字符集应该选择为utf8mb4。

2.2 使用数据库

语法:

use 数据库名;

2.3 显示当前数据库

语法:

show databases;

2.4 删除数据库

语法:

drop database [if exists] 数据库名;

  • 当数据库删除以后,数据库中的表格信息和数据内容均被删除
3 常用数据类型

3.1 数值类型

数据类型大小说明
bit(M)M指定位数,默认为1
tinyint1字节
smallint2字节
int4字节
bigint8字节
float(M,D)4字节单精度,M指定长度,D指定小数位数
double(M,D)8字节
decimal(M,D)M/D最大值+2双精度
numeric(M,D)M/D最大值+2

3.2 日期类型

数据类型大小说明
datetime8字节范围为1000-9999年,不会进行时区转换
timestamp4字节范围为1970-2038年,自动检索当前时区进行转换

3.3 字符串类型

数据类型大小说明
varchar0-65,535字节适用于字符串较少的情况
text0-65,535字节适用于字符串较多的长文本
mediumtext0-16,777,215字节
blob0-65,535字节
  • 常用的数据类型均加粗
4 表的操作

4.1 创建表格

在使用数据库表格的过程中,首先需要use 数据库名;

语法:

create table 表名(字段1 类型 comment‘…’, 字段2 类型);

  • comment可以增加内容对字段进行描述

4.2 删除表格

语法:

drop table [if exists] 表名;

4.3 查看表结构

语法:

desc 表名;

4.4 增加数据

语法:

单行插入:insert into 表名 values(…,…,…);

多行插入:insert into 表名 (字段名1,字段名2,…) values (…,…,…);

  • 插入的值要与字段名一一对应;
  • 插入的数量必须等于列的数量。

4.5 查询

语法:

全列查询:select * from 表名;

指定列查询:select 字段名 from 表名;

别名:select 字段名 别名 from 表名;

4.6 修改

语法:

update 表名 set 字段名 = 修改后的内容;

4.7 删除

语法:

删除整张表格:delete from 表名 ;
删除表内数据:delete from 表名 where 判断条件;

5 其他操作

5.1 去重

语法:

使用distinct关键字对某列进行去重 select distinct 列 from 表名;

5.2 排序
语法:

select 列 from 表名 order by 列 ASC/DESC;

  • 其中ASC表示升序,为默认值,DESC为降序;
  • 没有order by字句的查询,返回顺序则是未定义的;
  • NULL数据表示最小,升序时在最前,降序时在最后;
  • 也可以对列表的别名降序order by操作。

5.3 条件查询

语法:

select 列 from 表名 where …;

  • where可以使用表达式,但是不能对别名进行条件查询;

常用运算符

运算符说明
>、<、>=、<=
=等于,此时null = null 的结果为null
<=>等于,此时null = null 的结果为true(1)
!=、<>不等于
between a and b若a <= value <= b,则返回True(1)
in(a,b,c,…)若value在a,b,c,…中其中一个,则返回True(1)
is null是null
is not null不是null
like模糊匹配,%表示包含0的任意多个字符,_表示一个字符
and
or
not条件为True(1),结果为False(0)
  • 模糊匹配:

    若想寻找表格中姓为“孙”的同学,若不知道“名”为几个字,应该为:where name like ‘孙%’;若知道几个字可以用where name like ‘孙_’,此时表示为该同学为孙某。

5.4 分页查询

语法:

select 列 from 表名 limit n; --从0开始,筛选n条结果

select 列 from 表名 limit s, n; --从s开始,筛选n条结果

select 列 from 表名 limit n offset s; --从s开始,筛选n条结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值