Python 学习笔记-第20讲:MySQL 数据库基本操作

SQL语言与MySQL基础
本文介绍了SQL语言的基础知识,包括DML、DDL、DQL、DCL等不同类型的SQL命令,MySQL中的各种数据类型及其使用场景,以及如何进行表的操作如创建、修改、删除等。

1. SQL(Structured Query Language):结构化查询语言

名称

功能

命令

DML

(数据操作语言)

用来操作数据库中所包含的数据

INSERT

UPDATE

DELETE

DDL

(数据定义语言)

用于创建和删除数据库对象等操作

CREATE

DROP

ALTER

DQL

(数据查询语言)

用来对数据库中的数据进行查询

SELECT

DCL

(数据控制语言)

用来控制数据库组件的存取许可、

存取权限等

GRANT

COMMIT

ROLLBACK

2. 运算符

算术运算符

+ 加

- 减

* 乘

/ 除

% 取模

 

赋值运算符

=

 

逻辑运算符

AND 与

OR 或

NOT 非

 

比较运算符

运算符

说明

=

等于,例如:age=23

>

大于,例如:price>100

<

小于

<>

不等于

>=

大于等于

<=

小于等于

!=

不等于(非SQL-92标准 )

3. 创建、显示、选择、删除数据库

CREATE DATABASE 数据库名;

SHOW databases;

USE 数据库名;

DROP DATABASE 数据库名;

 

4. MySQL 数据类型

1) 数值类型

类型

说明

取值范围

存储需求

TINYINT

非常小的数据

有符值: -27 ~ 27-1 

无符号值:0 ~ 28-1                               

1字节

SMALLINT

较小的数据

有符值:  -215 ~ 215-1 

无符号值:  0 ~ 216-1      

2字节

MEDIUMINT

中等大小的数据

有符值:  -223 ~ 223-1 

无符号值:  0 ~ 224-1      

3字节

INT

标准整数

有符值: -231 ~ 231-1 

无符号值:0 ~ 232-1      

4字节

BIGINT

较大的整数

有符值: -263 ~263-1

无符号值:0 ~264-1      

8字节

FLOAT

单精度浮点数

±1.1754351e -38

4字节

DOUBLE

双精度浮点数

±2.2250738585072014e -308

8字节

DECIMAL

字符串形式的浮点数

Decimal(M,D)

M+2个字节

UNSIGNED属性

标识为无符号数

ZEROFILL属性

宽度(位数)不足以0填充

 

2) 字符串、日期类型

字符串类型

说明

长度

CHAR[(M)]

定长字符串

M字节

VARCHAR[(M)]

可变字符串

可变长度

TINYTEXT

微型文本串

0~28–1字节

TEXT

文本串

0~216–1字节

 

日期类型

格式

取值范围

DATE

YYYY-MM-DD,日期格式

1000-01-01~ 9999-12-31

DATETIME

 YY-MM-DD  hh:mm:ss:

1000-01-01 00:00:00 ~9999-12-31 23:59:59

TIME

hh:mm:ss:

-835:59:59 ~ 838:59:59

TIMESTAMP

YYYYMMDDHHMMSS

1970年某时刻~2038年某时刻,精度为1秒

YEAR

YYYY格式的年份

1901~2155

5. 表操作

1) 创建表

CREATE TABLE [IF NOT EXISTS]  表名 (

    字段1 数据类型 [字段属性|约束][索引][注释],

      ……

     字段n 数据类型 [字段属性|约束][索引][注释]

)[表类型][表字符集][注释];

#创建学生表

CREATE TABLE `student`(

    `studentNo` INT(4)  PRIMARY KEY,

     ` name` CHAR(10),

     ……);

只使用小括号,单引号,不区分大小写,

多字段使用逗号分隔

保留字用撇号括起来

单行注释:#......

多行注释:/*……*/

2) 查看表是否存在

查看表是否存在

USE myschool;

SHOW  tables;

查看表定义

DESCRIBE 表名;

DESC 表名;

 

3) 删除表

DROP TABLE [IF  EXISTS] 表名;

在删除表之前,先使用IF EXISTS语句验证表是否存在

4) 修改表

#修改表名

ALTER TABLE 旧表名 RENAME [TO]  新表名;

#添加字段 

ALTER TABLE 表名 ADD 字段名  数据类型  [属性];

#修改字段

 ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

#删除字段

ALTER TABLE 表名 DROP 字段名;

# 添加主键

ALTER TABLE 表名 ADD CONSTRAINT 主键名

PRIMARY KEY 表名(主键字段);

# 添加外键

ALTER TABLE 表名 ADD CONSTRAINT 外键名

FOREIGN KEY(外键字段)

REFERENCES 关联表名(关联字段);

5) 查看帮助

HELP 查询内容;

示例:

HELP contents;

HELP Data Types;

HELP INT;

 

 

6. 字段的约束及属性

名称

关键字

说明

非空约束

NOT NULL

字段不允许为空

默认约束

DEFAULT

 赋予某字段默认值

唯一约束

UNIQUE KEY(UK)

 设置字段的值是唯一的

 允许为空,但只能有一个空值

主键约束

PRIMARY KEY(PK)

设置该字段为表的主键

可唯一标识该表记录

外键约束

FOREIGN KEY(FK)

 用于在两表之间建立关系,

 需要指定引用主表的哪一字段

自动增长

AUTO_INCREMENT

 设置该列为自增字段

 默认每条自增1

 通常用于设置主键

 

本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩与纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算与数据处理能力的工具,在图像分析与模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常与其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换与直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构与形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式与Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取与分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术与模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识与实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习与掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值