创建数据库中,超详细常用的MySQL命令(含解析、图解与全部代码)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 创建数据库中,超详细常用的MySQL命令(含解析、图解与全部代码)

目录


系统命令行

MySQL命令行

数据库命令

数据表命令

建表并导入数据

表的其他操作


正文


系统命令行


以下是在系统命令行,已管理员身份运行的情况下,MySQL的一些命令

1.这两条是关闭MySQL服务与开启MySQL服务的命令

1. net stop MySQL
2. net start MySQL80

连接MySQL服务:

mysql -u root -p


MySQL命令行


数据库命令


创建数据库前的操作,如果存在csdb则删除 :

drop database if exists csdb;

create DATABASE RUNOOB; 创建数据库

drop database <数据库名>;   删除数据库

SHOW DATABASES;        展示所有数据库

use RUNOOB;            选择数据库

create DATABASE RUNOOB;
drop database <数据库名>;
SHOW DATABASES; 
use RUNOOB;  


数据表命令


建表并导入数据


CREATE TABLE table_name (column_name column_type); 创建数据表的基本语法

CREATE TABLE table_name (column_name column_type);

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

create table teacher //建立表TEACHER


(


id int(3) auto_increment not null primary key,        //将 ID 设为长度为 3 的数字字段 int(3) 并让它每个记录自动加一,auto_increment 并不能为空 not null ,而且让他成为主字段 primary key


name char(10) not null,        //将 NAME 设为长度为 10 的字符字段


address varchar(50) default '深圳',        //将 ADDRESS 设为长度 50 的字符字段,而且缺省值(默认值)为深圳


year date        //将 YEAR 设为日期字段。


); //建表结束


将文本数据转到数据库中:


       以上面建立的表为例:


       1、文本数据应符合的格式:字段数据之间用 tab 键隔开,null 值用 \n 来代替.


       例:


       3 rose 深圳二中 1976-10-10


       4 mike 深圳一中 1975-12-23


       2、数据传入命令


       load data local infile "文件名" into table 表名;


注意:你最好将文件复制到 \mysql\bin 目录下,并且要先用 use 命令打表所在的库。


备份数据库: (命令在DOS的 \mysql\bin 目录下执行)


mysqldump --opt school>school.bbb


注释:将数据库 school 备份到 school.bbb 文件,school.bbb 是一个文本文件,文件名任取,打开看看你会有新发现。


表的其他操作


以下为删除MySQL数据表的通用语法:

(如果B表里面有A表的属性,那个必须先删除B表,才能删除A表)

DROP TABLE table_name ;

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

增加属性或主键:


Alter table 表名 add 字段名 类型                        //增加属性


Alter table test_supplements primary(id);        //增加主键


删除属性或主键 :


Alter table 表名 drop字段名                                        //删除属性


Alter table test_supplements drop primary key;        //删除主键


读取数据表:


select * from runoob_tbl;

查看所有数据表:


SHOW TABLES命令可显示表是基表还是视图。 要在结果中包含表类型,请使用SHOW TABLES语句

SHOW TABLES;
SHOW FULL TABLES;

查找数据库表:


例如查找以“s“开头的数据表:


SHOW TABLES LIKE 's%';

mysql> SHOW TABLES LIKE 's%';
+---------------------+
| Tables_in_csdb (s%) |
+---------------------+
| school              |
| student             |
+---------------------+
2 rows in set (0.00 sec)

查找以’tion‘字符串结尾的表


HOW TABLES LIKE '%tion';

查找特定的Table_type的数据表:

HOW TABLES LIKE '%tion';
mysql> SHOW FULL TABLES WHERE table_type = 'BASE TABLE';
+----------------+------------+
| Tables_in_csdb | Table_type |
+----------------+------------+
| school         | BASE TABLE |
| student        | BASE TABLE |
+----------------+------------+

查询表中的信息:


select * from <表名>;

查看表的属性:


describe <表名>;

查询表中某一属性的值:


select DISTINCT <属性名> from <表名>;
//DISTINCT 去重复值,看需求是否添加

查询表中某一属性是上面值的对应属性:


select * from student where sdept='物联网工程系';
select sname from student where sdept='物联网工程系';

8.png

增加表中的信息:

insert into <表名> (键1,键2) values ("具体值1","具体值2");

修改表中的信息:

例如:update school set schoolName=‘数学学院’ where schoolID='XY002';

意思是:将schoolID为XY002的schoolName的值改为”数学学院“

update <表名> set 键="值",键=值,键=值 where 主键="对应要修改的主键名";

删除表中的信息;

删除schoolID为XY002的相关消息

delete form bbs where schoolID=XY002;

计算年龄:

select year(now())-year(sbirthday) as sage from student;
select sno,sname,year(now())-year(sbirthday) as sage from student;

7.png


索引的相关操作


查看索引:

show index from school\G

创建索引:

CREATE UNIQUE INDEX indexName ON mytable(username(length))

添加索引:

ALTER table tableName ADD INDEX indexName(columnName)
//tableName<表名>, indexName<索引名>,columnName<属性名>

删除索引:

DROP INDEX [indexName] ON mytable;
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 中的 `EXPLAIN` 语句用于分析和优化 SQL 查询,帮助你了解查询优化器的执行计划。本文详细介绍了 `EXPLAIN` 输出的各项指标,如 `id`、`select_type`、`table`、`type`、`key` 等,并提供了如何利用这些指标优化索引结构和 SQL 语句的具体方法。通过实战案例,展示了如何通过创建合适索引和调整查询语句来提升查询性能。
38 9
|
11天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
80 15
|
4天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
5天前
|
存储 关系型数据库 MySQL
double ,FLOAT还是double(m,n)--深入解析MySQL数据库中双精度浮点数的使用
本文探讨了在MySQL中使用`float`和`double`时指定精度和刻度的影响。对于`float`,指定精度会影响存储大小:0-23位使用4字节单精度存储,24-53位使用8字节双精度存储。而对于`double`,指定精度和刻度对存储空间没有影响,但可以限制数值的输入范围,提高数据的规范性和业务意义。从性能角度看,`float`和`double`的区别不大,但在存储空间和数据输入方面,指定精度和刻度有助于优化和约束。
|
11天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
15天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
17天前
|
PHP 开发者 容器
PHP命名空间深度解析:避免命名冲突与提升代码组织####
本文深入探讨了PHP中命名空间的概念、用途及最佳实践,揭示其在解决全局命名冲突、提高代码可维护性方面的重要性。通过生动实例和详尽分析,本文将帮助开发者有效利用命名空间来优化大型项目结构,确保代码的清晰与高效。 ####
18 1
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
76 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
62 0

推荐镜像

更多
下一篇
DataWorks