在数据库管理系统领域,MySQL以其强大的功能、开源性质和广泛的应用而著称。无论是在开发新应用还是维护现有系统中,对MySQL基本操作的理解和掌握是必不可少的。这篇博客将带你快速了解MySQL中的基本增删改查操作,即数据库管理的核心。
数值类型
-
tinyint:非常小的整数,占用一个字节的空间。
- 例:
age tinyint
- 例:
-
int:标准的整数,占用四个字节的空间。
- 例:
age int
- 例:
-
double:浮点数类型,用于存储带有小数的数字。
- 特点:可以指定精度,比如
double(总位数, 小数位数)
。 - 例:
score double(5,2)
意味着总共5位数字,其中2位是小数。
- 特点:可以指定精度,比如
日期和时间类型
-
date:日期类型,用于存储年月日。
- 例:
birthday date
- 例:
-
datetime:用于同时存储日期和时间。
- 例:无提供。
字符串类型
-
char:定长字符串。
- 特点:存储时会固定长度,不足部分以空格填充。
- 例:
name char(10)
意味着name
字段会存储10个字符,不足10个字符的部分会用空格填充。
-
varchar:可变长字符串。
- 特点:存储时不固定长度,更灵活。
- 例:
name varchar(10)
意味着name
字段最多可以存储10个字符,实际存储根据内容长度决定,不会用空格填充。
创建一张表
create table 用于创建一张表
table 后接这个表的名字
在()中添加这个表的表头信息
CREATE TABLE tb_user(StudentId VARCHAR(10) UNIQUE NOT NULL, -- 学生ID,定义为唯一,且不允许为空username VARCHAR(20) NOT NULL, -- 用户名,不允许为空password VARCHAR(32) DEFAULT '123456', -- 密码,如果未指定,则默认为'123456'gender TINYINT DEFAULT '1', -- 性别,如果未指定,则默认为'1'image VARCHAR(300) COMMENT '图像', -- 用户图像的路径或引用,带有注释'图像'createtime DATETIME NOT NULL, -- 创建时间,不允许为空updatetime DATETIME NOT NULL -- 更新时间,不允许为空
) COMMENT '用户表'; -- 为整个表添加注释'用户表'
数据的增加(INSERT)
数据的增加是数据库操作中最基础的一环,它允许我们向数据库表中添加新的数据行。这不仅是填充数据库的开始,也是数据生命周期管理的起点。使用INSERT
语句可以实现这一操作:
insert into tb_user (username,StudentId,gender,createtime,updatetime) values('sc','cst2209234',1,now(),now());insert into tb_user (username,StudentId,gender,createtime,updatetime)values ('CST2209139','baibai1',null,now(),now()) ,('CST2209136','baibai2',null,now(),now()),('CST2209137','baibai3',null,now(),now());
数据的修改(ALTER TABLE)
可以通过alter关键字+table 表名 +add(添加表头)/modify(修改类型)/ change (改名)
rename +table +表名 可以直接更改表的名字
update +表明+set 可以更改某条信息的内容 +where 指定位置
alter table tb_user add qq varchar(10) comment 'QQ';alter table tb_user modify qq varchar(15) comment 'QQ';alter table tb_user change qq QQ varchar(13) comment 'qq';rename table tb_user to user;update tb_user set username='baibai' where username='CST2209136';update tb_user set updatetime=now() where username='CST2209137';
数据的查询(SELECT)
数据查询是数据库操作中最频繁的部分,它允许我们检索存储在表中的信息。SELECT
语句的灵活性和强大功能使得从数据库中精确获取数据成为可能:
SELECT column1, column2, ...
FROM table_name
WHERE condition;