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

news2025/1/13 10:33:25

数据库介绍

数据库(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.coloradmin.cn/o/169699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读书笔记:手写数字识别 ← 斋藤康毅

求解机器学习问题的步骤可以分为“学习”和“推理”两个阶段。本例假设“学习”阶段已经完成,并将学习到的权重和偏置参数保存在pickle文件sample_weight.pkl中。至于是如何学习的,斋藤康毅指出会在后续章节详述。之后,使用学习到的权重和偏置…

Allegro如何利用Create Bound Shape自动画铜皮操作指导

Allegro如何利用Create Bound Shape自动画铜皮操作指导 在做PCB设计的时候,画铜皮操作是时常需要用到的操作,对于非常规角度画铜皮是个比较麻烦的事情,在Allegro升级到了172版本的时候,有个Create Bound Shape命令,画异形铜皮十分快捷,如下图 贴着过孔的边缘画弧形的铜皮…

【进击的算法】基础算法——回溯算法

🍿本节主题:回溯算法 🎈更多算法:深入聊聊KMP算法 💕我的主页:蓝色学者的个人主页 文章目录一、前言二、概念三、例题1.题目:全排列2.解题思路回溯算法的本质问题1:问题2&#xff1a…

linux 解压命令------超详细

目录 一、前期准备: 二、安装finalShell并与虚拟机进行连接 三、上传数据到虚拟机 四、解压命令练习 1. 解压zip包 unzip apache-maven-3.6.3-bin.zip 2. 解压tar.gz包 tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 一、前期准备: 1.final…

Redis命令及其数据类型详解

前面的文章我们讲解过关于Redis的安装: 手把手教你Linux下安装部署Redis,今天我们具体的讲一下Redis的命令及其5种数据类型 Redis命令 Redis命令用于在redis服务上来执行某些特定操作。 这里我们以Linux下的操作为例: 进入到我们Redis的bin目录下&am…

企业档案信息化规划总体框架

按照《中华人民共和国档案法》《企业档案管理规定》《企业档案工作规范》《企业数字档案馆(室)建设指南》等政策文件要求,企业档案信息化建设应从基础设施体系、应用系统体系、档案资源体系、标准规范体系、安全保障体系、组织人才体系六方面…

ARM公司发展史

1. 前言 当前,X86和ARM架构是公认的在商业化进程中表现最优秀的两大架构。之前我们已经介绍了X86架构,今天介绍另一个在近十年大火的架构,ARM。 ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine&#x…

【Java】【系列篇】【Spring源码解析】【二】【整体】【Spring整体流程解析】

本篇文章的目的是希望对Spring运行有个整体上的了解,后面的文章都是基于此12大步骤 读完这篇文章,你可以了解到: 1.spring运行的大致流程,他在这个期间做了哪些事 2.xml方式和注解方式载入BeanDifinition的时机一、Spring的运行的…

AgentTesla 掀起攻击全球各地企业的浪潮

大量带有恶意附件的电子邮件发送到南美洲与欧洲的企业。从 2022 年 8 月 12 日开始针对西班牙、葡萄牙、罗马尼亚和南美洲多个国家的企业进行发送,后续针对德国与阿根廷的企业发起了更大规模的攻击,迄今为止已经发送了超过 26000 封邮件。 感染链 攻击…

[MRCTF2020]Ez_bypass

目录 信息收集 代码审计 第一个判断 第二层判断 传参方式 补充说明 信息收集 打开靶场页面显示给出提示 I put something in F12 for you include flag.php; $flagMRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}; if(isset($_GET[gg])&&isset($_GET[id])) { $id$_GET[i…

大数据技术架构(组件)6——Hive:流程剖析3

1.1.3、Statistics Job从OperatorTree生成Job的过程:1、对输出表生成MoveTask2、从OperatorTree中的一个根节点向下深度优先遍历3、ReduceSinkOperator标识Map/Reduce界限,多个Job间的界限4、遍历其他根节点,遇到JoinOpeartor合并MapReduceTask5、生成St…

JavaWeb-RequestResponse

JavaWeb-Request&Response 1,Request和Response的概述 Request是请求对象,Response是响应对象。这两个对象在我们使用Servlet的时候有看到: 此时,我们就需要思考一个问题request和response这两个参数的作用是什么? requ…

放假第一二天

假期 # 生活 # 水文 每年放假回家都会发生很多有意义或者说有意思、开心、喜庆的事情,而在我孩童时期那只能是一段段回忆;至于现在则是我朋友圈众多记录中的一条。 但是,从现在开始我想尝试尝试在发朋友圈的基础上再加一个文字叙述&#xff…

C语言:函数

往期文章 C语言:初识C语言C语言:分支语句和循环语句 目录往期文章前言1. 函数是什么2. 库函数3. 自定义函数4. 函数的参数5. 函数的调用6. 函数的嵌套调用和链式访问6.1 函数嵌套调用6.2 函数的链式访问7. 函数的声明和定义8. 函数的递归后记前言 今天…

什么是无线网桥?全方位解析无线网桥及应用场景

欢迎来到东用知识小课堂!1.无线网桥介绍无线网桥的主要用途就是用于桥接两个网络,它可以取代网线,在不方便布线的环境或是无法挖沟埋管,环境已经既定无法再去破坏的环境当中通过无线微波的传输方式,进行网络、视频、数…

Android ViewModel,Lifecycles和LiveData组件讲解

文章目录一、ViewModelViewModel基本用法向ViewModel传递参数二、Lifecycles三、LiveDataLiveData的基本用法map和switchMapJetPack是一个开发组件工具集,他的主要目的是帮助我们编写出更加简洁的代码,并简化我们的开发过程。JetPack中的组件有一个特点&…

【C++11】右值引用

右值引用是C11中才被提出来的新概念,而以前的版本中也有引用,但是是指的左值引用。归根结底,左右值引用都是给对象取别名。 1.区分左值和右值 提起左值和右值很多小伙伴可能第一时间会有点小蒙圈,敲了好长时间代码了,对…

【Java基础】—— Java简介(超详细整理,适合新手入门)

​ “作者 久绊A” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴。 写给小白看的入门级 Java 基本语法,需要掌握哪些知识点? Java涵盖的知识点…

1个 30多年程序员的生涯经验总结

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 在我30多年的程序员生涯里…

部分iphone、安卓手机打开微信小程序不请求、白页问题

前言: 最近项目上发现用户测试小程序体验版打开一直白页,请求没反应,页面不渲染。开始以为是微信小程序某api问题,或者用户微信版本过低,或者用户网络不好,甚至考虑是不是服务器问题!因为后端是…