前言
从上一篇我们刚接触MySQL,慢慢理解了数据库是什么,以及我们该如何安装MySQL和里面创建数据库的基本操作,这一篇我们主要针对该如何去操作数据表进行深入学习,如果还不了解数据库以及如何安装的小伙伴,可以翻到上一篇的博客来学习:点击此处链接
OK,让我们开始吧!!!
一、操作数据表的基本语法(增删改查)
操作数据表:
0.查看表结构
desc 表名;
desc stu;1.新增字段 --> 加在最后
alter table 表名 add 字段名 数据类型;
alter table hero add skill varchar(25);
2.新增字段 --> 加在最前面
alter table 表名 add 字段名 数据类型 first;
alter table hero add id int(4) first;3.新增字段 --> 加载指定字段后面
alter table 表名 add 字段名 数据类型 after 字段名;
alter table hero add country varchar(10) after name;
4.修改字段
alter table 表名 change 旧字段名 新字段名 数据类型;
alter table hero change id num int(4);5.删除字段
alter table 表名 drop column 字段名;alter table hero add mmd int(4); # 先加再删
alter table hero drop column mmd;6.清空表数据
delete from 表名;
delete from hero2;7.删除表
drop table 表名;
drop table hero2;

建议
这些是操作数据表的一些基本代码,不要只看就觉得自己会了,多敲多读,形成肌肉记忆
二、数据查询的基本语法
2.1、查看当前数据库里的所有数据表信息
show tables;
2.2、查看表里的所有数据
select * from 表名; select * from stu;
2.3、查看表里的指定字段
select 字段名,字段名 from 表名;
select name,weapon from hero;
更深入的还可以使用where条件判断配合逻辑符号、比较符号以及数字符号来使用
where条件判断/数据筛选 --> 查询语句后加入where判断
比较符号: = != > < >= <=
查询年龄大于30岁的学生
select * from stu where age >= 30;查询姓名等于奥特曼的学生k
select * from stu where name = "奥特曼";查询年龄小等于25岁的学生 的姓名和身高
select name,height from stu where age <= 25;逻辑符号:
and: 并且, 当有多个条件时,必须都满足才获取
or: 或者,当有多个条件时,满足其一就可以获取
not: 非,不是,取反. 不等于insert into stu values("梦山",'男',29,177.52),
("梦山",'女',18,144.5);查询姓名等于梦山,并且性别为男的数据
select name,age,sex from stu where name="梦山" and sex='男';查询姓名性别为男或者姓名叫梦山的数据
select name,age,sex from stu where name="梦山" or sex='男';数字符号:
between 在两个值之间
not between 不在两个值之间
in 在范围里有这个数据
not in 在范围里没有这个数据查询年龄在20 - 30岁之间的学生的 姓名,年龄,性别
select name,age,sex from stu where age between 20 and 30;查询年龄不在20 - 30岁之间的学生的 姓名,年龄,性别
select name,age,sex from stu where age not between 20 and 30;查询年龄为18,20,25岁学生的 姓名,年龄,性别
select name,age,sex from stu where age in(18,20,25);

三、数据更新的基本语法
3.1、修改表数据
update 表名 set 字段名=值 where 条件;
不加where的话,会修改所有字段 --> 改了所有人的数据!!!把这几位同学的性别改为男
update stu set sex='男' where name in("蓝文祥","赵学海","绍东");
3.2、删除表数据
delete from 表名 where 条件;
# 删除所有名字为空的数据
delete from stu where name is NULL;如果有两个重复数据,只想删一个.那就想办法弄一个每个人特有的属性.
# 删除stu表里的 id列 drop:扔掉删除 column:列 id:字段名
alter table stu drop column id;# 插入一个id. 主键+自增
alter table stu add column id int auto_increment primary key first;# 删除姓名为蓝文祥 id为5的数据
delete from stu where name="蓝文祥" and id =5;

四、约束(Constraint)
约束的作用是保证数据的合法性,避免出现不合理数据。
例如:
- 年龄为负数
- 名字为空
- 主键重复
4.1 常见约束类型
| 约束 | 作用 |
|---|---|
| NOT NULL | 非空 |
| DEFAULT | 默认值 |
| UNIQUE | 唯一 |
| PRIMARY KEY | 主键 |
| AUTO_INCREMENT | 自增 |
4.2 使用示例
-- 非空
CREATE TABLE test1(
id INT,
name VARCHAR(10) NOT NULL,
age INT
);
-- 默认值
CREATE TABLE test2(
id INT,
name VARCHAR(10) DEFAULT '梦山',
age INT
);
-- 唯一约束
CREATE TABLE test3(
id INT UNIQUE,
name VARCHAR(10),
age INT
);
-- 主键
CREATE TABLE test4(
id INT PRIMARY KEY,
name VARCHAR(10),
age INT
);
-- 自增主键
CREATE TABLE test5(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(10),
age INT
);

实际开发中,通常会使用
id + AUTO_INCREMENT作为主键,这是一种通用设计方式。
总结
这篇文章主要梳理了 MySQL 入门阶段最核心的内容:
- 表的增删改查
- 约束的使用
如果是刚入门,建议边看边在本地敲一遍 SQL,效果会好很多。
如果这篇博客对你有帮助的话,请动动发财的小手点个小赞赞吧,谢谢各位义父!!!
每日励志文案:
心平能愈三千疾,心静可通万事理

18万+

被折叠的 条评论
为什么被折叠?



