本篇为 mysql 入门第一篇,覆盖数据库核心概念、库级操作、表结构管理与数据增删改,是所有 mysql 操作的基础。
一、mysql 概述与连接方式
mysql 是一款开源关系型数据库管理系统(rdbms),采用客户端 - 服务器架构,通过 sql(结构化查询语言)进行数据管理。
1. 命令行连接数据库
安装 mysql 服务端后,通过终端执行连接命令:
-- 基础连接,-u 指定用户名,-p 表示需要输入密码 mysql -u root -p
回车后输入密码即可进入 mysql 命令行交互界面。
2. 常用环境命令
-- 查看 mysql 版本 select version(); -- 查看当前用户 select user(); -- 退出 mysql exit;
二、数据库(database)基本操作
数据库是数据表的容器,一个 mysql 服务可以管理多个独立数据库。
1. 查看所有数据库
show databases;
默认会包含 mysql、information_schema、performance_schema 等系统库,请勿随意修改。
2. 创建数据库
-- 创建数据库并指定字符集(推荐 utf8mb4,支持完整 emoji 等字符) create database if not exists test_db default charset utf8mb4 collate utf8mb4_general_ci;
if not exists:避免重复创建报错charset:指定字符集collate:指定排序规则
3. 切换 / 进入数据库
操作数据表前必须先指定数据库:
use test_db;
4. 删除数据库
drop database if exists test_db;
⚠️ 删除操作不可逆,生产环境严禁随意执行。
三、数据表(table)基本操作
数据表是存储数据的核心单元,由行(记录)和列(字段)组成。
1. 常用数据类型
表格
| 类型分类 | 代表类型 | 说明 |
|---|---|---|
| 数值型 | int、bigint、decimal | 整数用 int/bigint,金额用 decimal |
| 字符串型 | varchar、text | 定长用 char,变长用 varchar,长文本用 text |
| 日期时间 | date、datetime、timestamp | date 仅存日期,datetime 存日期 + 时间 |
2. 创建数据表
create table if not exists student (
id int primary key auto_increment comment '主键id',
name varchar(50) not null comment '姓名',
age int default 0 comment '年龄',
gender char(1) comment '性别',
create_time datetime default current_timestamp comment '创建时间'
) engine=innodb default charset=utf8mb4 comment='学生表';关键字说明:
primary key:主键,唯一标识一条记录auto_increment:自增,每插入一条数据自动 + 1not null:非空约束,该字段不允许为空default:默认值comment:字段 / 表注释
3. 查看表信息
-- 查看当前库所有表 show tables; -- 查看表结构 desc student; -- 查看建表语句 show create table student;
4. 修改表结构
-- 添加字段 alter table student add column email varchar(100) comment '邮箱'; -- 修改字段类型/属性 alter table student modify column age tinyint comment '年龄'; -- 修改字段名 alter table student change column email user_email varchar(100) comment '用户邮箱'; -- 删除字段 alter table student drop column user_email; -- 修改表名 alter table student rename to student_info;
5. 删除数据表
drop table if exists student;
四、数据操作:增、删、改
对表内数据进行写入操作,属于 dml(数据操作语言)范畴。
1. 插入数据(insert)
-- 插入单条(指定字段)
insert into student(name, age, gender) values ('张三', 18, '男');
-- 插入多条
insert into student(name, age, gender) values
('李四', 20, '女'),
('王五', 19, '男'),
('赵六', 21, '女');
-- 全字段插入(不推荐,表结构变更后易出错)
insert into student values (5, '孙七', 22, '男', now());2. 更新数据(update)
-- 更新单条记录(必须加 where 条件,否则会更新全表!) update student set age = 20 where id = 1; -- 同时更新多个字段 update student set name = '张三三', gender = '女' where id = 1;
⚠️ 严禁省略 where 子句执行 update,会导致全表数据被覆盖。
3. 删除数据(delete)
-- 删除指定记录 delete from student where id = 5; -- 清空整张表(保留表结构) delete from student;
4. truncate 与 delete 的区别
delete from 表名:逐行删除,可加 where 条件,速度慢,自增主键不会重置truncate table 表名:直接销毁并重建表,速度极快,自增主键重置,不可加 where,无法回滚
到此这篇关于mysql 基础用法之库表管理与数据增删改操作大全的文章就介绍到这了,更多相关mysql库表管理与数据增删改内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论