Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL 基础知识笔记 第02期:库表创建及增删查改

MySQL 基础知识笔记 第02期:库表创建及增删查改

作者头像
数据库交流
发布于 2022-04-25 01:01:23
发布于 2022-04-25 01:01:23
1.1K00
代码可运行
举报
文章被收录于专栏:悦专栏悦专栏
运行总次数:0
代码可运行

作者简介

马听,多年 DBA 实战经验,对 MySQLRedisClickHouse数据库有一定了解,专栏《一线数据库工程师带你深入理解 MySQL》、《Redis 运维实战》作者。

这一节,来一起聊聊 MySQL 的库表创建及增删查改,如果没有实验环境,可以参考上一节内容:CentOS 快速安装 MySQL 8.0

1 创建和使用 database

1.1 创建 database
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE DATABASE yzl;

表示创建名为 yzl 的数据库

1.2 查看有哪些数据库
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SHOW DATABASES;

可以看到我们刚才创建的数据库 yzl。

1.3 使用 database

比如需要到某个 database 下面执行命令,则必须先进入到这个库,语法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use yzl;

2 建表和字段修改

2.1 建表

下面语句可创建一张名为 student_info 的表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create table `student_info`(
`id` int primary key auto_increment comment '主键',
`name` varchar(11) default null comment '学生姓名',
`sex` varchar(10) default null comment '学生性别',
`grade` int(10) default null comment '学生分数',
`stu_id` int(10) default null comment '学生ID',
key idx_stu_id (`stu_id`)
)engine = innodb default charset= utf8mb4;

这里对上面的语句进行解释:

  • create table 建表固定语法
  • student_info 创建的表名
  • id、name、sex、grade、stu_id 分别为这张表的字段
  • int(*)、varchar(*) 为字段类型,后续会详细讲解
  • primary key 表示这个字段为主键
  • default null 表示默认值为 null
  • comment 'xx' 表示对这个字段的注释,xx 为注释内容
  • engine = innodb 表示存储引擎为 InnoDB
  • charset= utf8mb4 表示设置这张表的字符集为 utf8mb4
2.2 查看当前库有哪些表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show tables;

如上图,就可以看到我们刚才创建的表:student_info

2.3 查看表结构
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show create table student_info;

如上图,我们可以看到前面所创建的表 student_info 的表结构

2.4 增加字段
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter table student_info add column course varchar(10) default null comment '科目';

alter table 修改表的固定语法

查看表结构,确定是否添加成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show create table student_info;

如上图,可以看到我们刚才新增的字段 course。

2.5 删除字段
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter table student_info drop column course;

查看表结构,确定字段是否删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show create table student_info;

如图,发现 course 字段已经没有了,因此删除字段成功。

3 数据增删查改

3.1 写入数据
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
insert into student_info(stu_id,`name`,sex,grade) values (1,'aa','女',88);
insert into student_info(stu_id,`name`,sex,grade) values (2,'bb','男',80);

解释一下上面的语句

  • insert into 写入数据固定语法
  • student_info 表名
  • (stu_id,name,sex,grade) 表示需要写入的字段
  • values (001,'aa','⼥女女',88) 表示需要写入的数据,跟前面的字段一一对应
3.2 查询数据

按条件查询某个字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select `name` from student_info where stu_id = 1;

解释一下上面的语法 select ... from 查询固定语法 语句句表示 从 student_info 中查询出 stu_id = 1 这⼀行数据的 name 字段

按条件查询所有字段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from student_info where stu_id = 1;

查询表的所有数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from student_info;
3.3 删除数据

删除数据前,最好先查询出满足条件的数据(这一次要删除的是 student_info 表中 stu_id 等于 2 的记录),以确定是否是自己要删的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select *  from student_info where stu_id = 2;

确定好是自己要删除的,则执行 delete 操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
delete from student_info where stu_id = 2;

解释一下上面的语法

  • delete from 删除数据固定语法
  • where stu_id = 2 表示删除满⾜足条件 stu_id = 2 的数据
  • 要注意的是,删除数据时,条件一定要加上,不然就会删除整张表的数据

查询数据是否被删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select *  from student_info where stu_id = 2;

发现 student_info 表中 stu_id 等于 2 的记录已经被成功删除了。

3.4 修改数据

首先查看修改之前的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from student_info where stu_id = 1;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
update student_info set `name`='yy' where stu_id = 1;

解释一下上面的语法 update ... set ... where 修改数据的固定语法 表示修改 student_info 表中满足条件 stu_id = 1 语句中的 name 为 yy

查看修改之后的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from student_info where stu_id = 1;

发现满足条件的 name 已经被修改成 yy 了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 悦专栏 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL 基础知识笔记 第04期:分组查询和聚集函数
这一节内容,来通过一张测试表,进行 MySQL 分组查询和聚集函数的练习。 1 数据准备 建表及数据准备,以便后面 SQL 练习: use yzl; /* 使用yzl这个database */ drop table if exists student_info; /* 如果表student_info存在则删除表student_info */ CREATE TABLE `student_info` ( /* 创建表student_info */ `id` int(11) NOT NULL auto_i
数据库交流
2022/04/25
4820
MySQL 基础知识笔记 第04期:分组查询和聚集函数
懒办法1篇文10分钟快速入门MySQL增删查改
作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,InfoQ签约作者,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。
1_bit
2022/01/06
3000
懒办法1篇文10分钟快速入门MySQL增删查改
Mysql增删改查sql语句练习
Mysql增删改查sql语句练习 关于数据库的一些操作: 进入mysql 命令行: mysql -uroot –p 查看所有数据库: show databases; 创建数据库: create database wg charset utf8; 删除数据库: drop database wg; 选择数据库: use databases; 查看所有表: show tables; 查看创建数据库的语句:show create database databasename; 查看创建表的语句:show create table tablename; 查看表结构:desc tablename; 增: mysql> use wg; mysql> create table students( id int auto_increment primary key,name varchar(10) not null,sex varchar(12),address varchar(50),phone int not null unique); #自增长 auto_increment #非空 not null #默认值 default ‘xx’ #唯一 unique #指定字符集 charset #主键 primary key mysql> create table scores(id int auto_increment primary key,s_id int not null,grade float not null); 数据: mysql> insert into student (id,name,sex,phone) values(122,’wg’,’男’,’110’); mysql> insert into students values(111,’wg’,’121’,’dd’) ; 删: mysql> drop table tablename; mysql> truncate tablename; 快速删除表数据,自增长id从头在来,快速,从磁盘直接删除,不可恢复 mysql> delete from student; 删除整个表的数据,自增长继续 改: mysql> alter table oldtable rename newtable; 改表名 mysql> alter table scores modify s_id varchar(20);
全栈程序员站长
2022/07/25
2.3K0
Mysql增删改查sql语句练习
Mysql介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。 提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。 MySQL 是开源的,所以不需要支付费用。 原生JSON支持(5.7 新增) 企业级的应用支持。
全栈程序员站长
2022/08/04
6520
Mysql介绍
MySQL 基础知识笔记 第03期:子查询和关联查询
在练习左连接和右连接之前,为了显示出两者的区别,这里再在每张表中新增一条记录,两张表中的这两条记录 stu_id 不相等。
数据库交流
2022/04/25
5160
MySQL 基础知识笔记 第03期:子查询和关联查询
MySQL 常用基础知识,多学一门技能,不求人
外键约束:是指在主键关联的外键上强制加上一个约束,如果违反该约束,则不允许该条数据的修改。
微芒不朽
2022/09/13
5740
MySql数据库增删改查常用语句命令「建议收藏」
创建数据库表: 创建一个表名为:employee,该表中含有id、name、sex、birthday、job字段
全栈程序员站长
2022/09/02
1.3K0
mysql 练习题
)DEFAULT CHARSET=UTF8; create table grade( s_id char(4) not null, c_id char(4) not null, g_score int , primary key(s_id,c_id) )default charset=utf8; 表1 student_info表结构 列名 数据类型 允许NULL值 主键 学号 char(4) 否 是 姓名 char(8) 否 否 性别 char(2) 是 否 出生日期 date 是 否 家族住址 varchar(50) 是 否 表2 curriculum表结构 列名 数据类型 允许NULL值 主键 课程编号 char(4) 否 是 课程名称 varchar(50) 是 否 学分 int 是 否
全栈程序员站长
2022/10/02
1.2K0
MySQL表的增删查改
values左侧为表中属性,右侧为自定义插入的内容,左右两侧安装顺序是一一对应的,如果顺序不同就会导致类型不同而出错。
每天都要进步呀
2023/10/16
8940
MySQL表的增删查改
Mysql常用sql语句(2)- 操作数据表
https://www.cnblogs.com/poloyy/category/1683347.html
小菠萝测试笔记
2020/06/09
5890
Mysql常用sql语句(2)- 操作数据表
mysql基本操作命令汇总
作用:提高表中数据的查询速度 1.普通索引 2.唯一性索引 3.全文索引 4.单列索引 5.多列索引 6.空间索引
崔笑颜
2020/06/08
1.1K0
mysql基本操作命令汇总
关于MySQL库表名大小写问题
一般在数据库使用规范中,我们都会看到这么一条:库名及表名一律使用小写英文。你有没有思考过,为什么推荐使用小写呢?库表名是否应该区分大小写呢?带着这些疑问,我们一起来看下本篇文章。
MySQL技术
2021/07/05
8.2K0
MySQL表的增删查改(二)
创建学生表student,一个学生对应一个班级,一个班级对应多个学生。使用id为主键,classes_id为外键,关联班级表id:
海盗船长
2020/08/27
2.8K0
数据库-表的操作
**语法一:**create table 新表 select 字段 from 旧表
cwl_java
2020/03/27
7090
02 . Mysql基础操作及增删改查
SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
iginkgo18
2020/09/27
2K0
haue数据库原理第一次实验
(1)学会使用MySQL 图形界面工具进行数据库相关操作。 (2)掌握使用SQL语句创建、选择、删除数据库。 (3)掌握使用SQL语句创建、修改、删除表。 (4)掌握使用SQL语句对表进行插入、修改和删除数据操作。 (5)学会使用SQL命令进行数据库备份的操作方法。 (6)学会使用SQL命令进行数据库恢复的操作方法。
南桥
2024/11/02
1570
haue数据库原理第一次实验
MySQL基础篇(DDL,DML,DQL,DCL详细讲解)
pojie方式:https://www.jb51.net/database/710931.html
用户4919348
2022/04/13
1.7K0
MySQL基础篇(DDL,DML,DQL,DCL详细讲解)
软件测试从业者必备SQL合集V1.0(21天搞定)
这是,IDO老徐最近在进行的21天SQL打卡的作业 & 参考答案的合集,提供给所有软件测试从业者 ;
IDO老徐
2020/04/26
8010
mysql必知必会2
语法:delete from {1} where {2} 第一对大括号替换为表名,第二对大括号替换为查询条件。 注意:删除语句一定要写删除条件,否则整张表删除。 例如:delete from commodity 这个SQL语句删除commodity表中的所有数据。 例如:delete from commodity where id = 5 这个SQL语句删除commodity表中的id=5的数据
潇洒坤
2018/09/10
7890
mysql必知必会2
MySQL入门,问题不大【增删改查极速上手】
当你登录你的QQ账号和别人吹水的时候,当你期末交作业去度娘复制的时候,当你在工作中登录一些网站的时候,再比如当你查看自己几乎没有什么余额的银行卡的时候(捂脸),或许自己也没注意,(非需要,大部分人也不想注意哈哈哈)我们一直都在以某种方式与数据库打交道,或许你是一个开发人员,也或许你也只是一个普通的用户,数据库与我们的生活息息相关,作为一名程序员,现在学习 MySQL 和 Oracle 的会多一些,像微软的 SQL Server 以前配合 asp 的时候用的还是挺多的,不过现在就没那么流行了,
BWH_Steven
2020/06/03
8140
相关推荐
MySQL 基础知识笔记 第04期:分组查询和聚集函数
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验