当前位置: 首页 > news >正文

【MySQL基础】数据库及表基本操作

作为运维工程师,掌握MySQL的基础操作是日常工作的重要技能之一。本文将介绍MySQL中数据库和表的基本操作,帮助您快速上手或复习这些核心概念。

1 数据库基本操作

1.1 创建数据库

create database db_name; 
-- 指定字符集和排序规则 
create database db_name character set utf8mb4 collate utf8mb4_unicode_ci;

1.2 查看数据库

-- 列出所有数据库 
show databases; 
-- 查看特定数据库的创建语句 
show create database db_name;

1.3 选择数据库

-- 切换到指定数据库 
use db_name;

1.4 修改数据库

-- 修改字符集和排序规则 
alter database db_name character set utf8 collate utf8_general_ci;

1.5 删除数据库

-- 慎用,会删除数据库中的所有数据 
drop database db_name;

2 表的基本操作

2.1 创建表

create table table_name (
    id int auto_increment primary key,
    name varchar(50) not null,
    age int,
    email varchar(100),
    created_at timestamp default current_timestamp
) engine=innodb default charset=utf8mb4;
常见字段类型:
  • int: 整数
  • varchar(n): 可变长度字符串,最大n个字符
  • char(n): 固定长度字符串
  • text: 长文本
  • date/datetime/timestamp: 日期时间类型
  • decimal(m,n): 精确小数,m总位数,n小数位

2.2 查看表

-- 列出当前数据库中的所有表
show tables;

-- 查看表结构
describe table_name;
desc table_nbame;

-- 查看表的创建语句
show create table table_name;

-- 查看表的详细信息
show table status like 'table_name';

2.3 修改表结构

-- 添加列
alter table table_name add column column_name varchar(100) after existing_column;

-- 修改列
alter table table_name modify column column_name varchar(150);
alter table table_name change column old_name new_name varchar(100);

-- 删除列
alter table table_name drop column column_name;

-- 重命名表
alter table old_name rename to new_name;
rename table old_name to new_name;

2.4 删除表

-- 慎用,会删除表及其所有数据 
drop table table_name;

3 数据操作基础

3.1 插入数据

-- 插入单行
insert into table_name (column1, column2) values (value1, value2);

-- 插入多行
insert into table_name (column1, column2) values 
(value1, value2),
(value3, value4),
(value5, value6);

-- 从其他表插入数据
insert into table_name (column1, column2)
select column1, column2 from source_table where condition;

3.2 查询数据

-- 基本查询
select * from table_name;
select column1, column2 from table_name;

-- 条件查询
select * from table_name where condition;
select * from table_name where column1 = 'value' and column2 > 100;

-- 排序
select * from table_name order by column1 asc, column2 desc;

-- 分组
select column1, count(*) from table_name group by column1;

-- 分页
select * from table_name limit 10 offset 20;
select * from table_name limit 20, 10;

3.3 更新数据

update table_name set column1 = value1, column2 = value2 where condition;

3.4 删除数据

-- 删除符合条件的行 
delete from table_name where condition; 
-- 删除表中所有数据
truncate table table_name;

相关文章:

  • HarmonyOS NEXT——【鸿蒙原生应用加载Web页面】
  • ThreadLocal与Cookie + Session?
  • Audacity Nyquist插件开发:定义输入框和获取用户输入
  • Unity 运行时更换Animator状态里的动画剪辑
  • Docker部署minio,SSL证书问题与两个解决方案
  • 【数据结构】栈 与【LeetCode】20.有效的括号详解
  • Spring Boot分布式项目实战:装饰模式的正确打开方式
  • 【网络】:应用层 —— HTTP协议
  • CloudCompare (CC)中ccHObject详解
  • 故障扭曲棱镜反射照片效果ps特效滤镜样机 Distorted Mirror Poster Effect
  • 日志打印级别定义
  • 高精度除法
  • SPI通信协议
  • uvm sequence
  • zsh安装以及安装配置oh-my-zsh安装zsh-autosuggestionszsh-syntax-highlighting
  • 条件变量与生产者-消费者模型
  • Unix/Linux 系统下的文件权限
  • D3524 PWM控制芯片详解:特性、参数与典型应用
  • arm非对齐访问编译器选项
  • vue(1-45)
  • flash做ppt的模板下载网站/东莞推广系统
  • 个人网站用凡科建站好吗/不受限制的万能浏览器
  • b2c电子商务网站制作/优秀的网页设计网站
  • 英铭广州网站建设/代理广告投放平台
  • 高端网站哪个比较好/硬件优化大师下载
  • 如何利用问答类网站做推广/seo外链优化培训