写点什么

MySQL 入门篇

作者:Java高工P7
  • 2021 年 11 月 11 日
  • 本文字数:2491 字

    阅读完需:约 8 分钟




前言


=====================================================================


数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。由很多表组成,表以行和列组织数据。很多行和列组成了表,很多表又组成了数据库。


本文采用的数据库版本为 MySQL 5.7 ,文章中如有错误,请指正,共同进步。


一、数据库的操作


===========================================================================


注意在客户端每次输入完语句一定要加;


1.1 显示数据库




show databases;


1.2 创建数据库




--格式 create database 【数据库名称】;


create database test;


注意:不能创建同名的数据库


1.3 使用数据库




--格式 use【数据库名】


use test;


注意:每次要操作数据库中的表时,必须要先执行 use【数据库名】语句


1.4 删除数据库




--格式 drop database 【数据库名】;


drop database test;


数据库删除后里面的表和数据全被删除了。


二、常用的数据类型


============================================================================


2.1 数值类型




整数和小数类型


| 数据类型 (整数) | 大小及说明 |


| --- | --- |


| bit[(M)] | M 指定位数,默认为 1 |


| tinyint | 1 字节 |


| smallint | 2 字节 |


| int | 4 字节 |


| bigint | 8 字节 |


| 数据类型(小数) | 大小及说明 |


| --- | --- |


| float(M,D) | 4 字节(单精度 M 是有效数字位数,D 是小数位数,会发生精度丢失) |


| double(M,D) | 8 字节 |


| decimal(M,D) | M/D 最大值+2(使用最多,M 是有效数字位数,D 是小数位数)较准确,但是计算慢 |


| numeric(M,D) | M/D 最大值+2 |


2.2 字符串类型




| 数据类型 | 大小及说明 |


| --- | --- |


| varchar(size) | 0~65535 字节 (size 是根据需求去定义了,字符串长一点就定义大一点,短一点就定义小一点) |


| text | 0~65535 字节 |


| mediumtext | 0~16777215 字节 |


| blob | 0~65535 字节 |


2.3 日期类型




| 数据类型 | 大小及说明 |


| --- | --- |


| datatime | 8 字节 范围使从 1000 到 9999 年,不会进行时区的检索及转换 |


| timestamp(时间戳) | 4 字节 范围使从 1970 到 2038 年,自动检索当前时区并进行转换 |


时间戳也是当前计算机存储和表示时间的基本方式,因为其空间小,并且方便计算


三、表的操作


=========================================================================


需要操作数据库中表使,需要先使用该数据库


3.1 查看表结构




--格式 desc 【表名】


desc test;


注意:没有 table 关键字


3.2 创建表




--格式 create table 【表名】;


create table test;


3.3 显示表




show tables;


注意:要加 s


3.4 删除表




--格式 drop table 【表名】;


drop table test;


例子:定义一个图书表内有 图书名称、作者名字、价格、种类。


create database test; --创建一个数据库


use test; --选中 test 数据库 进行操作


create table books(bookname varchar(64),bookauthor varchar(64),bookprice decimal(4,2),category varchar(32));


--创建图书名称(字符串类型)、作者名字(字符串类型)、价格(4 位有效数字,小数点后有两位)、种类(字符串类型)。



一个很简单的图书表,还没进行增删改查。


四、MySQL 表的增删改查


================================================================================


4.1 增(插入)




--格式


--insert [into] 【表名】 valuse; 全列插入 [into] 可省略


--insert [into] (字段名字) valuse; 指定列(字段名字)插入 [into] 可省略


1.单行数据全列插入


insert into books values ('平凡的世界','路遥',79.99,'长篇小说');


2.多行数据全列插入


insert into books values ('骆驼祥子','老舍',68.99,'长篇小说'),


('许三观卖血记','余华',49.99,'长篇小说');


3.单行数据指定列插入


insert into books (bookname,bookauthor,bookprice)values ('白鹿原','陈忠实',72.80);


insert into books (bookname,bookprice,category)values ('计算机组成原理',72.80,'计算机类');



注意插入指定列元素时一定要和指定列的类型相匹配。


4.2 查询



4.2.1 全列查询

--格式 select * from 【表名】;


select * from books;


4.2.2 指定列查询

--格式 select (指定字段) from 【表名】;


select bookname from books;


指定书名:


4.2.3 包含表达式的查询

-- 格式 selcet (指定字段)+表达式 from 【表名】;


select bookname,bookprice+10 from books;


在每个书的价格上都加上 10 元


4.2.4 别名查询

--格式 select (字段) [as] 别名 from 【表名】;


新增折扣属性


![在这里插入图片描述](https://img-blo


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


g.csdnimg.cn/20210530171859467.png)


select bookprice*(discount/100) as declineprice from books; --优惠了多钱


4.2.5 去重

使用 distinct 关键字对某列数据去重


去重优惠幅度为 10 的


--格式 select distinct (字段名称) from 【表名】


4.2.6 排序

使用关键字 order by


asc 为升序 (从小到大)


desc 为降序 (从大到小)


默认为 ASC


--格式 : select (要显示的字段名称) from 【表名】 order by (要排序的字段) (asc)//可省略 asc


-- select (要显示的字段名称) from 【表名】 order by (要排序的字段) desc //降序


4.2.7 条件查询

比较运算符:


| 运算符 | 说明 |


| --- | --- |


| >,>=,<,<= | 比较大小 |


| = | 等于, NULL 不安全,例如 NULL=NULL 的结果是 NULL |


| <=> | 等于 NULL 安全,例如 NULL<=>NULL 的结果是 TRUE(1) |


| !=,<> | 不等于 |


| between a and b | 范围匹配【a,b】闭区间,如果在范围内 返回 TRUE (1) |


| in(option) | 如果是 option 中的任意夜歌,返回 TRUE(1) |


| is NULL | 是 NULL |


| is not NULL | 不是 NULL |


| LIKE | 模糊匹配,%表示任意多个(包括 0 个字符,)_表示任意一个字符 |


逻辑运算符:


| 运算符 | 说明 |


| --- | --- |


| AND | “与” 。条件必须全部满足才返回 TRUE(1) |

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
MySQL入门篇