MySQL 基础入门篇

MySQL 是一个广泛使用的开源关系型数据库管理系统(RDBMS),以其高性能、可靠性和易用性而闻名。

数据库就是一个存放计算机数据的仓库,这个仓库按照一定的数据结构来对数据进行组织和存储,可以通过数据库提供的方法进行管理,下边是一些关于库的常用指令:

查看所有数据库:show databases;
创建数据库:create database 数据库名;
删除数据库:drop database 数据库;
查看当前使用的数据库:select darabase();
使用数据库:use 数据库名;

数据表是数据库存储数据的基本单位,有若干个字段组成,主要用来存储数据记录,下面是一些关于表的基本指令:

显示所有表:show tables;
创建表:create table 表名(列名 类型 约束1 约束2 ....,列名 类型 约束1 约束2...... );
查看表的结构:desc 表名;
删除数据表:drop table 表名;
修改表:alter table 表名 drop 列名; (删除表中的列)

alter table 表名 add 列 类型 约束1 约束2.....;(增加新的列)

alter table 表名 change 原列名 新列名 类型 约束1 约束2...;(修改列结构)

在创建表的时候要添加约束,下面是一些基本的约束:

主键:primary key (可以确定唯一的一行)

非空:not null (不能为空)

自增长:auto_increment (每次加一)

唯一:unique (列中的内容不能重复)

默认:default 默认值

检查:check (只有在MySQL8版本中才能使用)

外键:foreign key

关系型数据库表与表之间的关联,一个表中的某一列是另一个表中的主键

外键的创建和添加:constraint 外键名 foreign key (列名) references 表2 (列) on

update cascade on delete cascade;

外键的删除:alter table 表名 drop foreign key 外键名

数据

数据也就是表中添加的数据,所以它的指令主要涉及数据的增删改查:

数据的查询: select * from 表名(耗时数据大的时候慎用)

select 列,列.... from 表

select 列 as 别名,列 as 别名 from 表;

select 列 from 表 where 条件

条件where:比较运算符,逻辑运算符(and or not),判空(is null; is not null ),in,between and, like(%多个字 符;_一个字符)

关联查询:表与表之间存在关联关系

嵌套查询:第一次查询的结果作为第二次查询的条件

表连接:内连接---inner join

左外连接---left join

右外连接---right join

全连接---full join

分组、排序、分页、去重:去重---select distinct 列 from 表;

分组---select 列 as '组信息' ,count(*)as 个数 from 表

group by 列;

排序--- asc :升序 desc:降序

select * from 表 order by 列 desc,列 asc;

分页---limit (一个数字n代表前n个,两个数字start,count)

数据的增加: insert into 表名 values (列1,列2....),(值1,值2.....);------列与值对应

insert into 表名 (列1,列2...)values (值1,值2.....);------指定哪些列

insert into 表名 set 列1=值1,列2 = 值2...;

数据的修改:update 表名 set 列1=值1where 条件;------如果没有条件就修改整个表

delete from 表名 where 条件;------如果没有条件就清空表数据

函数

在MySQL中也有一些常见的函数:

select database();查看当前数据库

select user();查看当前用户

select version();查看当前版本

select now();查看现在时间

select curdate();查看当前日期

select curtime();查看当前时间

select unix_timestamp();时间戳

相关推荐
程序新视界4 小时前
MySQL中什么是回表查询,如何避免和优化?
mysql
薛定谔的算法9 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend10 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术11 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Java水解12 小时前
【MySQL】从零开始学习MySQL:基础与安装指南
后端·mysql
Raymond运维16 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉16 小时前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud1 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud1 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库