【收藏级】MySQL 100条命令,基本操作的所有内容(常看常新)(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【收藏级】MySQL 100条命令,基本操作的所有内容(常看常新)

大家好,我是秋意临。

一学期快结束了,结束前总结一篇MySQL,篇幅内容很多,所以是一篇收藏级,因为内容覆盖面比较广、比较浅、好理解非常适合正在学习mysql同学的新手,可以当作msyql命令手册大全,覆盖了mysql基本操作的所有内容(相信看到目录结构的一瞬间就会明白)。

常看常新,常看常新,常看常新哦!!~

记得收藏+关注免得迷了路。

欢迎加入云社区

一、ER模型

实体-联系模型(简称E-R模型)它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。

我们在做一个项目是就需要提前使用ER模型来绘制ER图,从而使其数据库结构清晰、合理。

DBMS 中的约束,约束强制限制可以从表中插入、更新、删除的数据或数据类型。约束的整个目的是在更新、删除、插入表中时保持数据完整性。


约束的类型

  • 非空、独特、默认、校验、键约束 – 主键,外键、域约束、映射约束


二、数据类型

三、字段命名规范

1.采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线_'组成,命名简洁明确,多个单词用下划线_'分隔。

2.—般采用小写命名。

3.禁止使用数据库关键字,如: table, time, datetime, primary等。

4.字段名称一般采用名词或动宾短语,如user_id,is_good。

5.采用字段的名称必须是易于理解,一般不超过三个英文单词。

四、数据库创建与管理

帮助

说明:

  • table_name:数据表表名
    col_name:字段名
    data_type:字段的数据类型

查看创建过程

语法:show create 关键字(table database) 名称;

show create table t_teacher;

4.1、创建数据库

语法:create database db_name;

create database db_test;

4.2、删除数据库

语法:drop database db_name;

drop database db_test;

4.3、列出数据库

语法:show databases;

show databases;

4.4、备份数据库

如果在宿主机操作,可省略 -h 参数。

语法:mysqldump -h 主机名 -u 用户名 -p 密码 数据库名称 > 脚本文件路径;

mysqldump -uroot -p000000 test > test.sql;

4.5、还原数据库

语法:mysql -h 主机名 -u 用户名 -p 密码 数据库名称 < 脚本文件路径;

mysql -uroot -p000000 test < test.sql;
或者
source test.sql;

4.6、使用某个数据库

语法:use db_name;

use db_test;


五、数据表创建与管理

5.1、创建表、结构

语法:create table table_name(col_name1 data_type1,col_name2 data_type2,....);

创建t_test数据表,字段为id,name(数据类型中的数字是字段长度)

create table t_test(id char(20),name char(10));

5.2、查看表结构

语法:describe table_name;

desc table_name;

describe可以缩写为desc。

describe t_test;
desc t_test;

5.3、查看数据表

语法:show tables;

show tables;

5.4、复制表结构

如果是复制其他数据库的表结构,在table_name2前加上数据库的名称

语法:create table new_table_name1 like old_table_namme2;

将数据库db_test中的t_test1表结构复制到当前数据库,命名为表结构t_test2。

create table t_test1 like t_test2;

5.5、复制表数据

表结构一致

insert into table_name_new select * from table_name_old;

表结构不一致

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old;

5.6、修改表名

语法:alter table old_table_name (旧名字) rename new_table_name(新名字);

alter table t_test1 rename t_test2;

5.7、增加字段

语法:alter table table_name add col_name1(添加字段名)data_type (字段类型);

alter table t_test add test_address varchar(255);

5.7.1、将添加的字段放入首位

语法:alter table table_name add col_name1(添加字段名)data_type (字段类型) first;

alter table t_test add test_address varchar(255) first;

5.7.2、将添加的字段放入 test2字段之后

语法:alter table table_name add col_name1(添加字段名)data_type (字段类型) after test2(字段);

alter table t_test add test1 varchar(20) after test2;

5.8、删除字段

语法:alter table t_reader drop reader_qq (删除的字段名);

alter table t_test drop test1;

5.9、修改字段的数据类型

语法:alter table table_name modify col_name1(字段名) data_type (字段类型);

将test2的数据类型由varchar改为char。

alter table table_name modify test2 char(100);

5.10、修改字段的名称

语法:alter table table_name change old_col_name(字段名) new_col_old(新字段名) data_type(字段数据类型);

alter table t_test change test_address  address char(100);

5.11、设置主键

作用:保证输入记录唯一性

方式:

  • 创建表时设置
  • 创建表之后设置

语法:create table table_name(xs_id char(12),xs_name char(10) primary key (xs_id));

创建studnet表时,将xs_id设置为主键。

create table student (xs_id char(12),xs_name char(10),primary key(xs_id));

创建studnet表时,将xs_id和xs_name设置为主键。这种将多个字段设为主键的方式称为:组合主键。组合主键也是一个主键(唯一性)。

create table student (xs_id char(12),xs_name char(10),primary key(xs_id,xs_name));

5.12、删除主键

语法:alter table table_name drop primary key;

alter table studnet drop primary key;

5.13、外键

作用:确保数据完整性。如:

  • 实体完整性
  • 用户定义完整性
  • 参照完整性
    只有当某个字段成为了主键后,该字段才能在其它表中成为外键。
    语法:alter table table_name add constraint 外键名称 foreign key (设为外键的字段名)references t_table2(主键字段名);

将t_test1表中id字段设为主键,t_test2表中id字段设为外键。

alter table t_test2 add constraint fk1 foreign key (id) references t_test1(id);

5.14、删除外键

语法: show create table table_name;

获取外键名称:

show create table t_test2;

语法:alter table t_test2 drop foreign key 外键名称;

alter table t_test2 drop foreign key fk1;

六、数据更新

6.1、insert 插入记录

6.1.1、插入单条记录

语法:insert [into] 表名 [字段1,字段n] values(值1,值n);

insert into test values(123,'tt');
insert into test(pid) values(124);

6.1.2、插入多条记录

insert into test values(125,'ttww'),(126,'ttwwe'),(127,'ttqqq');

6.1.3、子查询,插入多条记录

使用select查询出来的内容字段,插入到inert对应的字段

语法:insert [into] 表名1 [字段1,字段n] select [字段1,字段n] from 表名2 [where语句];

insert into  test-1 select * from test-2;
insert into  test-1(pid,name) select pid,name from test-2;

6.2、delete 删除记录

语法:delete from 表名 [where <条件>];

delete from test; ## 删除所有记录
delete from test where pid==123;   #删除id为123的这条记录。

6.3、update 更新记录

语法:update 表名 set 列名1 = 值1,列名2 = 值2,…[where 条件];

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
20天前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
4月前
|
存储 关系型数据库 MySQL
初步了解MySQL数据库的基本命令
初步了解MySQL数据库的基本命令
47 0
|
2月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
3月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
36 3
|
3月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
80 4
|
2月前
|
关系型数据库 MySQL 数据库
Mysql 常用命令
Mysql 常用命令
26 0
|
5月前
|
存储 关系型数据库 MySQL
(十五)MySQL命令大全:以后再也不用担心忘记SQL该怎么写啦~
相信大家在编写SQL时一定有一个困扰,就是明明记得数据库中有个命令/函数,可以实现自己需要的功能,但偏偏不记得哪个命令该怎么写了,这时只能靠盲目的去百度,以此来寻找自己需要的命令。
180 28
|
5月前
|
SQL 关系型数据库 MySQL
MySQL删除表数据、清空表命令(truncate、drop、delete 区别)
MySQL删除表数据、清空表命令(truncate、drop、delete区别) 使用原则总结如下: 当你不需要该表时(删除数据和结构),用drop; 当你仍要保留该表、仅删除所有数据表内容时,用truncate; 当你要删除部分记录、且希望能回滚的话,用delete;
|
5月前
|
SQL 关系型数据库 MySQL
mysql性能调优:EXPLAIN命令21
【7月更文挑战第21天】掌握SQL性能调优:深入解析EXPLAIN命令的神奇用法!
65 1
|
5月前
|
存储 SQL Cloud Native
云原生数据仓库使用问题之运行MySQL命令发现中文内容变成了问号,该如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。