MySQL数据库基础

目录

MySQL安装

数据库的操作

1、显示当前的数据库

2、创建数据库

3、使用数据库

4、删除数据库

小小结

常用数据类型

数值类型

字符串类型

日期类型

数据表的操作

1、查看当前数据库中有哪些表

2、创建表

3、查看表的详细情况

4、删除表


MySQL安装

安装视频链接

数据库的操作

SQL中不区分大小写

1、显示当前的数据库

注意事项:

1)show和databases之间至少要有一个空格

2)databases是复数形式(有多个数据库),不要忘了加 s

3)每个输入的sql最后要以 ; 结尾(英文分号

这里就显示出,当前的数据库服务器上,都有哪些数据库(此处的数据库是数据集合)

这四个是系统自带的,至少会有这四个数据库

2、创建数据库

形如这样的提示,就表示成功

注意事项:

创建数据库的时候,数据库的名字,不能和SQL中的"关键字"重复

创建数据库的名字,也不能和已有的数据库名字重复

不过,也有办法,让关键字成为数据库名,那就是在创建数据库的时候给数据库名,加上"反引号"(在键盘的左上角)。有的时候确实真需要,比如创建一个数据库表示订单order,巧了,order也是sql中的关键字,如果确实需要,就可以通过这种做法达成目标。

创建数据库的时候还需要指定数据库的"字符集"( charset**),**这个往往是咱们在开发中的很关键的环节。一个中文汉字,占几个字节?只要你回答2或者3,只要有具体数字,一定都是错误的。取决于当前的字符集的,使用不同的字符集,对应的字节数是不同的。ascii,计算机本质上是存储二进制的数据(010101),就需要约定好,使用不同的数字表示不同的字符,对于英文来说,asci足够了。对于其他的语言文字(比如中文)按照上述思路,进一步延伸.一个字节表示不下,可以多引入几个字节。本质上还是有一个表,使用不同的数字,对应到不同的汉字.(其他的语言文字,日文,韩文,葡萄牙文,西班牙文,阿拉伯文...)对于中文来说,常用汉字,也就4k个.算上生僻字,也就6w左右。对于计算机来说,维护一个6w大小的表,非常ez~~像上述用来表示中文的表,不只有一个不同的组织提出的不同的编码方案(有不同的表格)。同一个汉字,在不同的编码方案中,对应的数字是不一样的。
随着时间的发展,大部分的编码方案就消亡了。最终留下来的,表示中文的编码方案,主要就是2个了。
(1)GBK

主要是在咱们中国大陆使用(港澳台一般不用这个),港澳台用繁体字。GBK只能表示简体字~~

windows简体中文版,默认的编码方式就是GBK

此时一个汉字就是使用2个字节表示,之前使用VS编写代码,此时打印出的一个汉字的长度就是2个字节

放到10年,20年前,GBK用的很多~
(2)UTF-8 (也可以写作UTF8或吾utf8或者utf-8)

属于变长编码,表示不同的符号,可能用1-4个字节来表示~~

对于中文汉字来说,一般是3个字节表示。

UTF8是当前世界上最流行的编码方式。不仅仅能表示中文,也能表示世界上任何一种语言文字

如果不能正确指定字符集后续想保存中文,就可能会出问题,比如mysql5,默认的字符集是"拉丁文",此时如果尝试插入中文数据,就会插入失败~(mysql8的话,默认的就是utf8,不手动指定也可以)

后续写创建数据库操作,都建议大家统一把字符集给指定一下

mysql上的utf8,其实不是"完全体"是个"残本"。有些标准的utf8字符,在mysql的utf8上可能是不支持的。比如,现在emoji表情。

mysql提供了一个方案utf8mb4 ,在mysql上表示完全体utf8。utf8mb4 是mysql自己创造的,

脱离mysql之外,别的程序,都不认识这个字符集,都只是认识utf8~~

++说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4。++


[IF NOT EXISTS]

在创建数据库的时候指定一个简单的条件,如果不存在,就创建;如果存在,就啥都不做~~

此处虽然有警告,但是仍然是"成功"不算报错。

如果只是通过命令行,一条一条的输入sql,此时if not exists就没啥用处~~

啥时候有用呢?以后在工作中可能也会让数据库,批量执行一组sql(比如把若干sql写到一个文件中)批量执行过程中,任何一个sql出错,都会使后续的sql无法继续执行(强制终止了)

3、使用数据库

类似于"文件夹"感觉

注意数据库组织数据的规则:

一个数据库服务器上有很多的"数据库"

一个数据库中,又有很多"数据表

一个数据表,有很多"数据行"

一个数据行,又有很多"数据列"

因此就需要先选中某个数据库,接下来针对数据表/数据行等操作,就是针对这个被选中的数据库展开的

见到上述提示,说明切换成功~~

4、删除数据库

删除数据库,是一个非常危险的操作!大家未来在实际工作中,一定要慎重!慎重!
数据库一旦被删除,就恢复不了了。公司中的数据库数据,都是真金白银~~
++要怎样做,才能避免删库呢?++
1.控制权限.
不是每个人都能操作,只有少数人才能操作。
比如,限制普通的开发,只能够对数据库进行"读操作",不能"修改",尤其是删库这样的操作
如果你确实要删库,需要从相关的人员进行申请,由人家来进行操作,没有权限的话,即使你执行删除语句,也不会真正删除(报错)
2.要对数据库进行及时的备份

数据库中的数据,拷贝出来,存储到别的地方

数据备份,一二三原则.

一份数据,至少需要保存到两个机器上,至少有三个副本(拷贝出三份)

但是对于数据库,具体的备份策略,根据实际的项目场景,具体问题具体分析

不同的场景,对于数据量多少,对于数据可靠性的要求...

3.确实需要进行"删库"危险操作,最好拉上一个人,和你一起进行操作

你操作,他在旁边给你看着(僚机)

小小结

常用数据类型

数值类型

字符串类型

日期类型

数据表的操作

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

1、查看当前数据库中有哪些表

数据库中进行一些查询操作,就会得到一系列的结果数据,就把这些结果,称为"结果集"

2、创建表

在关系型数据库中,一个表有哪些列,每个列叫啥名字是啥类型,都是要提前确定好的.

后续往表里存储的数据,都要严格遵守上述类型的要求.

3、查看表的详细情况

查看表的结构(有哪些列,每个列是啥情况),不能查看表里的内容

4、删除表

相关推荐
是店小二呀20 分钟前
【金仓数据库征文】金融行业中的国产化数据库替代应用实践
数据库·金融·数据库平替用金仓·金仓数据库2025征文
炒空心菜菜37 分钟前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
多多*1 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥1 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
数据库幼崽1 小时前
MySQL 8.0 OCP 1Z0-908 61-70题
数据库·mysql·ocp
码农黛兮_463 小时前
SQL 索引优化指南:原理、知识点与实践案例
数据库·sql
爆肝疯学大模型3 小时前
SQL server数据库实现远程跨服务器定时同步传输数据
运维·服务器·数据库
我来整一篇3 小时前
用Redis的List实现消息队列
数据库·redis·list
加什么瓦4 小时前
Redis——数据结构
数据库·redis·缓存
神仙别闹4 小时前
基于C#+SQL Server开发(WinForm)租房管理系统
数据库·oracle·c#