MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率

一. 前文简介

从今天开始小杰地mysql数据库地学习随笔,总结也开始了.


小杰出入mysql, 如果出现了许多地表达不当或者观点错误希望各位读者可以给与指针,也希望大家可以多多支持小杰.


大家本着相互学习共同进步地心情一起学习进步(既然您点进来了就是缘分, 如果是休息之际,不如看看小杰地文章给小杰点评一下.)  

二. MYSQL简介

2.1 什么是数据库

数据库(Database)就是按照数据结构来组织,存储和管理数据地仓库. (大量数据地集合)


数据库是针对数据进行 创建,访问, 管理,搜索 等等操作地一款 软件.


再小思考一下为什么要使用数据库  :  我磁盘上硬盘上 存储文件  (  然后进行文件读写地方式对数据进行存储管理不可以吗?  )  明确关键,不是不可以,  而是使用数据库对于数据进行管理更加地方便,快速,安全    (  至于为何更加快速感兴趣地朋友可以去网上查询,  磁盘读写和数据库读写哪个效率更高?)

2.2数据库地特点以及作用

  • 对于数据做持久化保存   (跟磁盘文件存储一样, 对比理解)
  • 方便数据地存储和查询,速度快,安全,方便  
  • 可以处理并发访问  
  • 更加安全地权限管理访问机制

三.MYSQL基础操作(SQL语句)

SQL : structure query language 结构化查询语句


SQL组件 :  DDL (定义,创建)  DML (操作)   DQL (查询), DCL (控制)


今天地核心主题就是DDL :  定义数据库和数据表地结构.  我们常用的功能是增删改,分别对应的命令是create、drop 和 alter.    


数据库操作四大步骤 :连接数据库  打开数据库  操作   关闭退出  

  • 3.1连接数据库

3.1.1 使用命令行连接数据库

mysql -h localhost -u root -p -P 3306    //(按回车)
Enter password:
// -h 服务器地址
// -u 登录地账户名
// -p 账户密码
// -P(大写) 端口号,mysql默认是3306
  • 上述只是为了介绍地清楚,连接数据库是需要指定ip + port 的  说明什么,数据库算是在服务器上面跑的一款应用软件的感觉 提供更快速、高效的数据检索及数据处理
  • 平时我们登录数据库不需要指定ip + 端口 都会默认 localhost 和 3306

  • 然后再介绍一个图形化的操作数据库的应用软件 Navicat  : 它的好处是提供了图形化的界面,使得我们操作数据库更便捷,快速,可以极大的提高工作效率,但是初期我个人认为并不建议使用,最好是熟知熟用了命令行界面之后再去使用Navicat提高工作效率.(Navicat默认收费,但是存在破解版, 有感兴趣的朋友可关注私我,福利)

3.2数据库的语法特点,以及数据库必会操作

  • SQL语句要以分号结尾
  • SQL语句是不区分大小写的,但是向函数呀关键字啥的简易大写,也无所谓, 我是觉着小写写着舒服用小写

  • 数据库操作  (show 查看, create 创建, drop删除 alter修改)
  • 查看所有的数据库: show database;     //上述有效果
show database;
  • 创建数据库:  create database 库名 default charset=utf8mb4;   (后面的default可省略, 其实就是指定数据库采取的字符集)   MySQL使用的编码就是  utf8mb4
create database 库名 default charset=utf8mb4;//完整版
create database 库名; //缩写版本, 字符集默认
create database if not exists 库名;
//不存在再创建,存在就不创建

  • 删除数据库 drop database 库名;     //删库有风险,慎用

打开数据库(进入数据库)  use 库名;

进入数据库之后,数据库里面是各种表结构.   所以我们必须要对于表进行操作

表和数据库关系的理解 :  文件夹和文件的关系.


查看所有表 :  show tables;


创建表 : create tables 表名(字段1 类型, 字段2 类型, 字段3 类型...) engine=innodb default charset=utf8mb4;    //engine后序可省略,  

  • 创建表,如果表不存在执行上述指令,如果表存在则不执行咋办, 类比create database,你懂的  (if not exists) 
create table is not exists 表名(字段1 类型, 字段2 类型, 字段3 类型...);

  • 查看表结构(仅仅只是结构不涉及内容):  desc 表名

Filed: 字段名    Type 字段类型      NULL 可否为空     Default 默认值


删除表: drop table 表名;    


drop table if exists 表名; //如果这个表存在就删除


查看建表语句 : show create table 表名

  • 这个表的字符集不对,应该是默认的字符集不对, 解决办法1,建表的时候指定字符集utf8mb4, 解决办法2, 查找修改所有不是utf8的编码  
网络中借鉴大佬的改掉配置文件中的所有非utf8的
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;

数据操作:  增删改查

插入:    前面写字段  后面是  values 数值

insert into 表名(字段1, 字段2, 字段3...) values(值1, 值2, 值3...);
//插入一行数据
insert into 表名(字段1, 字段2, 字段3...) values(值1, 值2, 值3...), values(值1, 值2, 值3...);
//插入多行数据

查询, 查看

select * from 表名;
//查看整个表
select 字段1, 字段2, 字段3, from 表名;
//查看含有指定字段的列
select * from 表名 where 字段=某个值;  
//指定查询字段=特殊值的一行 

3.3 退出数据库    

  • 可以使用  exit 或者是  \q (quit);

四. 总结

本文重点:  首先是知道mysql 是个啥东西, 是对于数据进行管理,存储,长期保存,支持各种操作的一款软件, 是在服务器上跑的,有点像服务器但是不是...  也需要指定ip  + port  


熟练使用基本的SQL语句, create 创建   drop 删除,    创建删除处理针对  数据库 database  还有  table 表,   show展示    use  数据库 (进入数据库)


create table 表名(字段, 类型 ...);  

 

select * from 表   查看查询表数据   * 代表查询所有      可以指定字段  (指定列)


指定 where 字段 = 特定值 指定行


insert into 表名(字段) values(值);   插入数据  


update  修改数据   delete 删除数据

小杰拙见, 初学我觉得可以先把所有基本SQL命令操作自己敲上个5到6遍进行熟练,敲完熟悉完全之后然后总结一下这些操作...   (至于Navicat 初学少用,以后提升工作效率可以熟练使用)初学就是慢慢的先熟练掌握所有的基本操作...  理解的前提是实践操作

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
MySQL进阶突击系列(07) 她气鼓鼓递来一条SQL | 怎么看执行计划、SQL怎么优化?
在日常研发工作当中,系统性能优化,从大的方面来看主要涉及基础平台优化、业务系统性能优化、数据库优化。面对数据库优化,除了DBA在集群性能、服务器调优需要投入精力,我们研发需要负责业务SQL执行优化。当业务数据量达到一定规模后,SQL执行效率可能就会出现瓶颈,影响系统业务响应。掌握如何判断SQL执行慢、以及如何分析SQL执行计划、优化SQL的技能,在工作中解决SQL性能问题显得非常关键。
|
1月前
|
SQL 存储 关系型数据库
MySQL原理简介—1.SQL的执行流程
本文介绍了MySQL驱动、数据库连接池及SQL执行流程的关键组件和作用。主要内容包括:MySQL驱动用于建立Java系统与数据库的网络连接;数据库连接池提高多线程并发访问效率;MySQL中的连接池维护多个数据库连接并进行权限验证;网络连接由线程处理,监听请求并读取数据;SQL接口负责执行SQL语句;查询解析器将SQL语句解析为可执行逻辑;查询优化器选择最优查询路径;存储引擎接口负责实际的数据操作;执行器根据优化后的执行计划调用存储引擎接口完成SQL语句的执行。整个流程确保了高效、安全地处理SQL请求。
198 76
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
173 42
|
2天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
|
26天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
129 25
|
14天前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
34 9
|
14天前
|
SQL 存储 缓存
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
34 3
|
14天前
|
监控 关系型数据库 MySQL
云数据库:从零到一,构建高可用MySQL集群
在互联网时代,数据成为企业核心资产,传统单机数据库难以满足高并发、高可用需求。云数据库通过弹性扩展、分布式架构等优势解决了这些问题,但也面临数据安全和性能优化挑战。本文介绍了如何从零开始构建高可用MySQL集群,涵盖选择云服务提供商、创建实例、配置高可用架构、数据备份恢复及性能优化等内容,并通过电商平台案例展示了具体应用。
|
21天前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。