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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 通常用于设置主键

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值