python-MySQL数据库基础(一)数据库基础知识、MYSQL的介绍和安装、数据类型

news/2023/6/7 1:16:22

数据库介绍

数据库(database)简称DB,实际上是一个文件集合,是一个存储数据的仓库,本质上是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查等操作,音乐,视频等文件也是数据。

数据库存储数据的特点

  1. 持久化存储,不会因为电脑死机、突然断电等情况而丢失数据。
  2. 读写速度极高,用SQL语句进行操作,效率高。
  3. 保证数据的有效性,对数据有数据类型、数据唯一性、有效性等的约束。
  4. 对程序支持非常好,容易扩展,在JAVA、PHP、C、Python等语言中都支持数据库。

数据库的分类

  1. 关系型数据库
    可以保存现实生活中的各种关系数据,数据库中存储数据以表为单位,主流的关系型数据库:MYSQL,Oracle,SQLServer等
  2. 非关系型数据库
    通常用来解决某些特定的需求,比如高并发访问,主流非关系型数据库:Redis,Mongodb,memacahe等

MYSQL介绍与安装

MYSQL介绍

MYSQL是由瑞典MySQL AB公司开发,发现用ISAM和mSQL来访问表格的速度和灵活性不能满足需求,于是便开发了跟mSQL接口类似的数据引擎MYSQL。Oracle和SQL Server是商业的数据库,mysql是开源的。
MYSQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(结构化查询语言SQL)进行数据库管理,MYSQL因为其速度、可靠性和适应性而备受关注。在不需要事务化处理的情况下,MYSQL是管理内容最好的选择。excel跟MYSQL进行数据管理类似,但数据的存放量和灵活性不如MYSQL。

MYSQL特点

  1. mysql是开源的,所以你不需要支付额外的费用就能使用。
  2. mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  3. mysql使用标准的SQL数据语言形式。
  4. mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括R、Python、Java、PHP、Ruby等。

MYSQL安装

下载地址:http://www.mysql.com/downloads
在这里插入图片描述
在这里插入图片描述
分为在线安装和下载到本地安装。安装时默认选择,然后依次点击"Excute"、“Next”、"Finish"都能解决。安装完成后把安装目录下的bin文件夹添加到环境变量里才能正常使用。
从cmd中进入到mysql安装目录下的bin文件夹内,输入mysql -uroot -p ,输入密码就可以进入到mysql数据库。
在这里插入图片描述
也可以用PhStudy代替MYSQL,它非常适合用来搭建网站,是一个集成开发环境,安装后需要启动MYSQL服务,才能连接到数据库。

图形界面管理工具

使用命令进行输入的时候,相比用excel等图文并茂的操作会有些不方便,这时候就需要使用图形界面管理工具,这里使用SQLyong图形界面。

SQLyong介绍

SQLyong是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理数据库,由业界著名的Webyong公司出品,也是一个开源软件。
开源软件(open source software),简称OSS,公开源代码软件。因此开源软件具备可以免费使用和公布源代码的特征。
SQLyong只是一个连接数据库的工具,并不是数据库。
下图为安装成功SQLyong后的界面,尽量不要安装到C盘,密码为安装SQL时候的,不要设置的过于复杂。
在这里插入图片描述
下图为进入SQLyong的界面
在这里插入图片描述
右键点击root@localhost,选择创建数据库,输入数据库的名称为test1,基字符集选择utf8,数据库排序规则选择utf8_general_ci,然后点击创建。
在这里插入图片描述
就会出现如下图所示的界面,右键点击表,选择创建表,会弹出新表的界面,输入表名称为demo1,引擎选择InnoDB,字符集选择utf8,在下方输入列名、数据类型、长度等信息。
在这里插入图片描述

MYSQL语法基础

SQL

SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持SQL语言进行操作,也就是说通过SQL操作orcal,sql sever,mysql等关系型数据库。

SQL语句分类

  1. DDL语句:数据定义语言,这些语句定义了不同的数据点、数据库、表、列、索引等数据库对象。
  2. DML语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。
  3. DCL语句:数据控制语句,用于控制不同数据段直接许可和访问级别的语句。

数据完整性

在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束。

数据类型

数值类型

整数类型有5种,每个种类包含的数字大小是不一样的,定义数据的范围是合适就好,当定义数据的范围比较大的时候,建议使用无符号范围。

整数类型有符号范围(有正有负)无符号范围(正数范围)
TINYINT(size)-128~1270~255
SMALLINT(size)-32768~327670~65535
MEDIUMINT(size)-8388608~83886070-16777215
INT(size)-2147483648~21474836470-4294967295
BIGINT(size)-9223372036854775808~92233720368547758070~18446744073709551615

小数类型有3种,size指的是数据的长度,d为保留的小数位数。

小数类型描述
FLOAT(size,d)带有浮动小数点的小数字。在括号中规定最大位数,在d参数中规定小数点右侧的最大位数。
DOUBLE(size,d)带有浮动小数点的大数字。在括号中规定最大位数,在d参数中规定小数点右侧的最大位数
DECIMAL(size,d)作为字符串存储的DOUBLE类型,允许固定的小数点,默认会保留整数,舍去小数。(定点数类型)

字符串类型

字符串类型字节大小示例
CHAR(size)0~255char(3)输入’ab ‘(添加空格,凑成3个字符的长度),实际存储为’ab’;输入’abcd’,实际存储为’abc’
VARCHAR(size)0~65535char(3)输入’ab’,实际存储为’ab’;输入’abcd’,实际存储为’abc’

枚举类型

枚举类型的英文为ENUM,对1~ 255个成员的枚举需要1个字节存储;对于255~65535个成员,需要2个字节存储,最多允许65535个成员,创建方式:enum(“M”,“F”),创建时会自动弹出枚举值列表框,在输入值中填入要输入的内容,如男、女分别添加进去,在进行表内容输入的时候,就只能输入或选择男、女,输入其他的值则不显示

日期类型

数据类型描述
DATE()日期,格式:YYYY-MM-DD,支持范围:‘1000-01-01’到‘9999-12-31’
DATETIME()日期和时间的组合,格式:YYYY-MM-DD HH:MM:SS ,支持范围:‘1000-01-01 00:00:00’到‘9999-12-31 23:59:59’
TIME()时间,格式:HH:MM:SS,支持范围:‘-838:59:59’到‘838:59:59’
YEAR()2位或4位格式的年。4位格式:1901到2155;2位格式:70到69,表示从1970到2069
TIMESTAMP()时间戳,跟随系统时间发生变化,跟时区有关。格式:YYYY-MM-DD HH:MM:SS,支持的范围:‘1970-01-01 00:00:0’ UTC 到 ‘2038-01-09 03:14:07’ UTC

注意

  • decimal表示定点小数,如decimal(5,2)表示共存5位数,小数占2位,不写则默认为decimal(10,0),默认舍去小数位。
  • char 表示固定长度的字符串,如char(3),如果填充’ab’时则会补充一个空格为’ab ’
  • varchar 表示可变长度的字符串,如carchar(3),填充’ab’时就会存储’ab’
  • 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
  • 枚举类型不区分大小写

约束

  • 主键约束(primary key):它能够唯一确定表中的一条记录,也就是我们通过给某个字段添加约束,就可以使得字段不重复且不为空。如身份证号
  • 自增约束(auto_increment),创建表时勾选自增,在填充内容时,会自动增加序列
  • 惟一约束(unique):此字段的值不允许重复,主键是惟一的,但惟一并不一定是主键,如身份证和银行卡
  • 非空约束(not Null):此字段不允许填写空值
  • 默认约束(default):当不填写此值时会使用默认值,如果填写时则以填写为准
  • 外键约束(foreign key):对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常,一个表的主键也可以为另一个表的外键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4554015.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux]进程概念以及进程状态

🥁作者: 华丞臧. 📕​​​​专栏:【LINUX】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 推荐一款刷题网站 👉 LeetCode刷题网站 文…

vue + element 实现在线预览pdf并进行打印

vue element 实现在线预览pdf并进行打印 element ui 实现在线预览pdf地址并打印 百度了看很多文档都说需要安装一些插件之类的问题 其实不需要 现在大多数的浏览器都支持打印和预览 很简单的一句代码实现 1.添加打印按钮 <el-button type"primary" click"p…

网上咋打印?网上打印资料文件的平台有哪些

第一次在网上打印时&#xff0c;很多人不知道网上咋打印&#xff1f;网上打印其实可以给大家省去很多寻找打印店的时间&#xff0c;而且很多网上打印的操作流程也比较便捷&#xff0c;面对众多的网上打印平台该怎么选择呢&#xff1f; 网上打印资料文件的平台是比较多的&#…

采用高通Qualcomm处理器的手机进EDL 9008模式的办法

由于我们有很多基于 Qualcomm 的设备&#xff0c;其中一些设备可能会古怪地猜测如何进入 EDL 模式&#xff0c;或者如何正确进入。 例如&#xff0c;对于 Alcatel&#xff0c;您必须先按住两个音量键&#xff0c;然后再按住其中一个&#xff0c;对于 CAT B35&#xff0c;您必须…

利用adobe reader批量在线打印pdf文件

思路&#xff1a;因为要打印的文件在服务器端&#xff0c;需要在客户端与服务端交互且执行PDF打印 很显然需要个浏览器插件&#xff0c;来读取pdf文件&#xff0c;这样自然想到adobe reader adobe reader可以在线打开pdf文件&#xff0c; 且有相应接口给js调用 顺着这个思路&a…

BFS的入门与应用

目录 一、前言 二、BFS原理 二、BFS与最短路径 1、最短路径问题用BFS 2、迷宫&#xff08;2019年省赛&#xff0c;填空题&#xff0c;lanqiaoOJ题号602&#xff09; &#xff08;1&#xff09;字典序最小的最短路径 &#xff08;2&#xff09;输出路径的两种方法 三、B…

策我前行的,是片刻的迷茫

策我前行的&#xff0c;是片刻的迷茫。 不知道从什么时候开始&#xff0c;我貌似患上了「迷茫症」&#xff0c;症状表现为&#xff1a;周期约为三个月或者四个月&#xff0c;每次周期一到&#xff0c;我就会陷入一种对未来不可知的迷茫状态&#xff0c;整个人会不断地深深怀疑自…

讲真的,我刚开始工作的时候,也很迷茫

昨天有个粉丝也是我的vip学员问我&#xff0c;刚开始参加工作比较崩溃&#xff0c;蛮焦虑的&#xff0c;怎么办&#xff1f; 让我想起了&#xff0c;刚参加工作时候的状态。 我也是从崩溃的边缘走过来的&#xff0c;Java基本也是自学的&#xff0c;本科专业电子信息&#xff0c…