Python数据库操作 中的数据类型#学习猿地

### 一,MySQL的数据类型

数据类型是定义列中可以存储什么类型的数据以及该数据实际怎样存储的基本规则

数据类型限制存储在数据列列中的数据。例如,数值数据类型列只能接受数值类型的的数据

在设计表时,应该特别重视所用的数据类型。使用错误的数据类型可能会严重地影响应用程序的功能和性能。

更改包含数据的列不是一件小事(而且这样做可能会导致数据丢失)。

数据类型:整型、浮点型、字符串、日期等

------------------------------------

#### 1、字符串数据类型

最常用的数据类型是串数据类型。它们存储串,如名字、地址、电

话号码、邮政编码等。

不管使用何种形式的串数据类型,串值都必须括在引号内

有两种基本的串类型,分别为定长串和变长串

- 定长串:char

1. 接受长度固定的字符串,其长度是在创建表时指定的。

定长列不允许存储多于指定长度字符的数据。

2. 指定长度后,就会分配固定的存储空间用于存放数据

```

char(7) 不管实际插入多少字符,它都会占用7个字符位置

```

- 变长串 varchar

存储可变长度的字符串

varchar(7) 如果实际插入4个字符, 那么它只占4个字符位置,当然插入的数据长度不能超过7个字符。

----------------------------------------------------

##### 注意

既然变长数据类型这样灵活,为什么还要使用定长数据类型?

回答:因为性能,MySQL处理定长列远比处理变长列快得多。

+ Text  变长文本类型存储

![image](./imgs/3232559721674152AA6C45916CE1C086.png)

---

#### 2、数值类型

数值数据类型存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。支持的取值范围越大,所需存储空间越多

与字符串不一样,数值不应该括在引号内

![image](./imgs/3D63395B658D42489CE95C2157C15213.png)

decimal(5, 2) 表示数值总共5位, 小数占2位

tinyint 1字节(8位) 0-255。-128,127

int    4字节。    -21亿,21亿。0-42亿

float.

MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)

#### 有符号或无符号

所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号

- 有符号数值列可以存储正或负的数值

- 无符号数值列只能存储正数。

- 默认情况为有符号,但如果你知道自己不需要存储负值,可以使用UNSIGNED关键字

---

##### 注意

如果将邮政编码类似于01234存储为数值类型,则保存的将是数值1234,此时需要使用字符串类型

手机号应该用什么进行存储呢?

---

#### 3、日期和时间类型

MySQL使用专门的数据类型来存储日期和时间值

![image](./imgs/B493924B597B48D7AE436F5EFFB09DCC.png)

datetime 8字节1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

---

#### 4、二进制数据类型

二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等

![image](./imgs/B8CCF6C0BCA5402B907D02F8C415B019.png)

---

### 二、表的字段约束

- unsigned  无符号(给数值类型使用,表示为正数,不写可以表示正负数都可以)

- 字段类型后面加括号限制宽度

- char(5). varchar(7) 在字符类型后面加限制 表示 字符串的长度

- int(4) 没有意义,默认无符号的int为int(11),有符号的int(10)

- int(4) unsigned zerofill只有当给int类型设置有前导零时,设置int的宽度才有意义。

- not null  不能为空,在操作数据库时如果输入该字段的数据为NULL ,就会报错

- default 设置默认值

- primary key  主键不能为空,且唯一.一般和自动递增一起配合使用。

- auto_increment  定义列为自增属性,一般用于主键,数值会自动加1

- unique 唯一索引(数据不能重复:用户名)可以增加查询速度,但是会降低插入和更新速度

---

### 三、MySQL的运算符

- 算术运算符: +、 -、 *、 /、 %

- 比较运算符: =、 >、 <、 >=、 <=、!=

- 数据库特有的比较: in、not in、is null、is not null、like、between、and

- 逻辑运算符: and、or、not

- like:  支持特殊符号%和_ ;

其中%表示任意数量的任意字符,_表示任意一位字符

---

### 四、主键

1、**表中每一行都应该有可以唯一标识自己的一列**,用于记录两条记录不能重复,任意两行都不具有相同的主键值

2、应该总是定义主键 虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。

#### 要求

- 记录一旦插入到表中,主键最好不要再修改

- 不允许NULL

- 不在主键列中使用可能会更改的值。

(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

- 自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数,这样我们就完全不用担心主键重复,也不用自己预先生成主键

- 可以使用多个列作为联合主键,但联合主键并不常用。使用多列作为主键时,所有列值的组合必须是唯一的

掌握学习方法,不如会弯道超车!

学习猿地:成就自己的只需一套精品!

原文地址:https://www.cnblogs.com/itxdl/p/12530690.html

时间: 2024-08-01 03:44:22

Python数据库操作 中的数据类型#学习猿地的相关文章

Python数据库操作 Python操作mysql#学习猿地

# python操作mysql mysql数据库可以应用于多种编程语言,包括 PHP,Java,Go,Python 不同编程语言操作mysql,都是使用了mysql提供的API接口. 如果直接操作mysql提供的API相对复杂一些,因为不同的编程语言都有不同的封装好的包或者模块进行数据库的相关操作. 在python中也有很多的包或模块进行mysql数据库的操作,比较知名的包包括 pymysql,mysqldb... ### 安装pymysql pip install pymysql ### py

Python数据库操作 MySQL数据库与数据表操作#学习猿地

# MySQL数据库与数据表操作 + 数据库的操作 + 数据库创建 + 数据库删除 + 数据表的操作 + 数据表的创建 + 数据表的修改 (表结构) + 数据表的删除 ### 数据库的操作 #### 1.数据库的创建 ```mysql # 链接mysql数据库后,进入mysql后可以操作数据 # 1. 创建库 create database if not exists tlxy default charset=utf8: -- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建 --

Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

# Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:**客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果).**那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?客户端可以向服务器发送增删改查各类请求,我们这里以比较复杂的查询请

Python数据库操作 初识mysql和mysql基本操作#学习猿地

# 3.认识和操作一下mysql的基本命令 #### 登录mysql,在终端输入以下命令,进行登录 `mysql -u root -p` ```sql MacBook-Pro:~ yc$ mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.28 Homebrew Cop

Python数据库操作 Mysql数据库导入导出和授权#学习猿地

# Mysql数据库导入导出和授权 ### 数据导出 #### 1.数据库数据导出 ```shell # 不要进入mysql,然后输入以下命令 导出某个库中的数据 mysqldump -u root -p tlxy > ~/Desktop/code/tlxy.sql ``` 导出一个库中所有数据,会形成一个建表和添加语句组成的sql文件 之后可以用这个sql文件到别的库,或着本机中创建或回复这些数据 #### 2.将数据库中的表导出 ```shell # 不要进入mysql,然后输入以下命令 导

Python数据库操作 DML操作-数据的增删改#学习猿地

# MySQL 数据操作 DML > 数据的DML操作:添加数据,修改数据,删除数据 ## 添加数据 > 格式: insert into 表名[(字段列表)] values(值列表...); ```sql --标准添加(指定所有字段,给定所有的值) mysql> insert into stu(id,name,age,sex,classid) values(1,'zhangsan',20,'m','lamp138'); Query OK, 1 row affected (0.13 sec

python初学day1--(python中基本数据类型和常用方法)

python中基本数据类型和常用方法 在python中常见的数据类型有:字符串(str),列表(list),元组(tuple),字典(ditc),集合(set) (一)字符串 字符串常用的方法: 1,索引(index),通过下标输出对应位置的字符. eg:  i = 'hello world' print(i[3])   结果:'l' 2,长度(len),获取一个字符串的长度. eg:  i = 'hello' print(len(i))   结果:5 3,移除空白(strip),移除字符串两边

python数据库操作常用功能使用详解(创建表/插入数据/获取数据)

实例1.取得MYSQL版本 # -*- coding: UTF-8 -*- #安装MYSQL DB for python import MySQLdb as mdb con = None try: #连接mysql的方法:connect(host='localhost',user='root',passwd='root',db='test',port=3306) con = mdb.connect('localhost', 'root', 'root', 'test'); #所有的查询,都在连接

Python 数据库操作 -- Mysql 数据库

Python DB API 价值 Python访问数据库的统一接口规范,开发者不必再去针对不同数据库实现不同API 官网 https://www.python.org/dev/peps/pep-0249/ 内容 使用流程 开发环境搭建 环境 Python代码开发(Sublime Text3 / Notepad ++) Python客户端 AND Python-MySQL connector Mysql服务器(Mysql5.7 AND Navicat) 安装Python-MySQL connect