南沙定制型网站建设,企业展厅建设计划书,来个黑黑的网站,网站推广 html关键词代码解说MySQL基础知识#xff08;一#xff09; 文章目录 MySQL基础知识#xff08;一#xff09;00 MySQL安装01 数据库介绍1.1 什么是数据库1.2数据库分类 02 SQL分类03 数据库操作3.1显示数据库3.2创建数据库3.3选中数据库3.4删除数据库 04 常用数据类型4.1数值类型4.2字符串类…MySQL基础知识一 文章目录 MySQL基础知识一00 MySQL安装01 数据库介绍1.1 什么是数据库1.2数据库分类 02 SQL分类03 数据库操作3.1显示数据库3.2创建数据库3.3选中数据库3.4删除数据库 04 常用数据类型4.1数值类型4.2字符串类型4.3日期类型 00 MySQL安装
Windows下通过MySQL Installer安装MySQL服务
01 数据库介绍
1.1 什么是数据库
存储数据用文件就可以了为什么还要弄个数据库 文件保存数据有以下几个缺点 文件的安全性问题 文件不利于数据查询和管理 文件不利于存储海量数据 文件在程序中控制不方便
数据库存储介质
磁盘内存
为了解决上述问题专家们设计出更加利于管理数据的软件——数据库它能更有效的管理数据。数据库可以提供远程服务即通过远程连接来使用数据库因此也称为数据库服务器。
1.2数据库分类
数据库大体可以分为关系型数据库和非关系型数据库 关系型数据库(RDBMS): 是指采用了关系模型来组织数据的数据库。简单来说关系模型指的就是二维表格模型而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如 Oracle:甲骨文产品适合大型项目适用于做复杂的业务逻辑如ERP、OA等企业信息系统。收费。MySQL:属于甲骨文不适合做复杂的业务。开源免费。SQL Server:微软的产品安装部署在windows server.上适用于中大型项目。收费。 非关系型数据库 (了解)不规定基于SQL实现。现在更多是指NoSQL数据库如 基于键值对(Key-Value):如memcached、redis 基于文档型如mongodb 基于列族如hbase 基于图型如neo4j 关系型数据库与非关系型数据库的 区别 关系型数据库非关系型数据库使用SQL是不强制要求一般不基于SQL实现事务支持支持不支持复杂操作支持不支持海量读写操作效率低效率高基本结构基于表和列结构固定灵活性比较高使用场景业务方面的OLTP系统用于数据的缓存、或基于统计分析的OLAP系统
02 SQL分类 DDL数据定义语言用来维护存储数据的结构 代表指令create,drop,alter DML数据操纵语言用来对数据进行操作 代表指令insert,delete,update DML中又单独分了一个DQL,数据查询语言代表指令select DCL数据控制语言主要负责权限管理和事务 代表指令grant,revoke,commit
03 数据库操作
MySQL是一个客户端,服务器结构的程序MySQL的服务器是真正的本体负责保存和管理数据数据都是存储在硬盘上的。 操作数据库的命令也就是”SQL语句“也可以理解为一种编程语言。 说明操作数据库的时候数据库对于字母的大小写不敏感也就是说可以大写也可以小写。
3.1显示数据库
语法show databases 3.2创建数据库
语法create database 数据库名字 注意点就是我们创建的数据库不能同名。 这里有解决方法
就是在创建的时候加上修饰if not exists来解决问题。如图 它也是可以适用于我们以后创建数据库保险一点的操作因为在实际工作中很多时候我们是将一系列的sql写到一个文件中批量执行的很少会一行一行去执行那么在批量执行的情况下要是其中有一条sql语句写错了后续的失去了语句就无法继续执行了。 创建数据库的时候可以手动指定一下字符集
语法character set 字符集名字
亦或是charset 字符集名字
当我们创建数据库没有指定字符集和校检规则的话系统会默认使用默认字符集utf8,校检规则是utf8_general_ci如果我们需要在数据库中保存中文因为MySQL默认字符集是拉丁文并不支持中文所以我们必须在创建数据库的时候手动将编码方式指定为支持中文的编码。(GBK、UTF8)MySQL中的utf8其实是一个残本不是完全体的utf8少了一些复杂的中文以及一些emoji表情若想在MySQL中使用utf8的完全体则我们需要输入utf8mb4. 3.3选中数据库
语法use 数据库名字;
数据库最重要的操作就是针对表进行增删改查。表是属于数据库的要针对表操作就要先把哪个数据库的表这个事情搞清楚
3.4删除数据库
语法drop database 数据库名;
删除操作删掉的不仅仅是database而且也删除了database中的所有表,还有表里的所有数据。
那不然怎么经常有从删库到跑路这句话呢~
04 常用数据类型
MySQL中支持的数据类型。
一个表包含很多行每一行也称为一条记录。一个行里可以有很多列每一列也称为是一个字段。每个列都是有一个具体类型的。
4.1数值类型
bitmm指定位数默认1二进制数m范围1-64存储数值范围0-2^m-1常用boolean对应bit此时默认是1位即只能存0和1tinyint1bytesmallint2shortint4integerbigint8longfloat(m,d)4单精度m指定长度d指定小数位数。会发生精度丢失floatdouble(m,d)8doubledecimal(m,d)m/d最大值2双精度m指定长度d指定小数位数。精确数值bigdecimalnumeric(m,d)m/d最大值2双精度m指定长度d指定小数位数。精确数值bigdecimal
拓展 数值类型可以指定为无符号unsigned表示不取负数。 1字节bytes 8bit。 对于整型类型的范围 有符号范围-2类型字节数*8-1到2类型字节数*8-1-1如int是4字节就 是-231到231-1 无符号范围0到2类型字节数*8-1如int就是232-1 尽量不使用unsigned对于int类型可能存放不下的数据int unsigned同样可能存放不下与其 如此还不如设计时将int类型提升为bigint类型。 4.2字符串类型
数据类型大小说明对应Java类型varchar(size)0-65535字节可变长度字符串Stringtext0-65535字节长文本数据Stringmediumtext0-16777215字节中等长度文本数据Stringblob0-65535字节二进制形式的长文本数据byte[]
关于上表的一些小解读 4.3日期类型
数据类型大小说明对应Java类型datetime8字节范围从1000到9999年不会进行时区的检索及转换。java.util.Date、java.sql.Timestamptimestamp4字节范围从1970到2038年自动检索当前时区并进行转换。java.util.Date、java.sql.Timestamp