热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL–基础介绍

笔记地址MySQL零基础入门之从青铜到钻石_慕课手记(imooc.com) 数据库1)数据库是存储数据的仓库。其本质是一个文件系统,数据库按照特定的格式将数据存储起来,用户可以对数


  • 笔记地址

  • MySQL零基础入门之从青铜到钻石_慕课手记 (imooc.com)

 



  • 数据库

  • 1)数据库是存储数据的仓库。 其本质是一个文件系统,数据库按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

    • 理解:安装至电脑中的数据库,其实它是一个软件。这个软件里面又划分许多细小的库。为什么会出现这种现象呢?当我们有一个比较大的京东商城网站,用户在使用过程中,会产生许多数据,这些数据就会放在数据库的软件当中。若一个数据库只能存放一个网站的数据,当我们做两个项目的时候,要再本地安装两个数据库吗?当然是不现实的。所以一个数据库软件可以创建许多小的库,一个库放京东项目,一个库放58项目。数据就放在这个小库中。那更具体的细节是放在某一个小库的表中,这就是数据库一个整体的结构。这个表像我们使用的excel。存储数据的时候,是分为行和列进行存储的。

    • 一行代表一个组织存储的顺序。

    • Excel是基于本地硬盘进行保存的,数据库是基于数据库软件进行保存的。

    • 总结:数据库是安装至本地电脑的一个软件,这个软件具有存储数据的能力。我们可以对数据库中的数据进行增删改查(DML、DQL)的操作。



  • 2)数据的存储方式

    • 内存。优点:读取速度快。缺点:程序的运行就是在内存中的。一旦意外退出,内存中的数据就会清除,且内存价格贵。(固态硬盘就可以理解为内存。U盘、硬盘、磁盘是外挂的存储设备)

    • 本地/普通文件中。本地就是磁盘或者硬盘。优点:只要硬盘不损坏,就永久保存。缺点:查找、增加、修改、删除数据比较麻烦,效率低。(比如说查一个大于20的数据)

    • 数据库。优点:永久保存,通过SQL语句方便操作增删改查。



 



  • 常见的数据库以及适用场景

  • 1)Oracle:收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MySQL。

  • 2)MySQL:开源免费的数据库,小型的数据库。已被Oracle收购。足够应对web应用开发。最高支持千万级别的并发访问。

  • 3)SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。

  • 4)DB2:收费的大型数据库,IBM公司的产品。常应用在银行系统中。

  • 5)SyBase:已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。

  • 6)SQLite:嵌入式的小型数据库,应用在手机端

 



  • MySQL安装及使用

  • 0)卸载:数据库的卸载(之前安装过数据库的看过来~~),MySQL8.0零基础入门之从青铜到钻石教程-慕课网 (imooc.com)

  • 1)版本:mysql-8.0.27-winx64

  • 2)安装位置:D:\mysql_8.0.27\mysql-8.0.27-winx64

  • 3)安装教程:本地安装MySQL详细步骤_浪迹天涯小砖头的博客-CSDN博客_如何本地安装mysql

  • 4)出现的问题:net start mysql启动失败,将D:\mysql_8.0.27\mysql-8.0.27-winx64路径下的data目录删除后,重新初始化即可。

  • 5)密码:密码由原本p*D2YkKzifwM的改为123456。
  • 6)命令行启动MySQL:Windows键+R键----->输入services.msc------>找到MySQL启动即可。


  • 7)添加本机path环境变量:D:\mysql_8.0.27\mysql-8.0.27-winx64\bin

    • 就可以查看mysql的版本了C:\Users\jieqiong>mysql -V


  • 8)控制台(DOS命令窗口)连接数据库:mysql -u 用户名 -p 回车



    • 使用exit退出。切换到本地磁盘目录。


  • 9)控制台远程连接数据库:mysql -h127.0.0.1 -u root -p 回车

C:\>cd /d D:\mysql_8.0.27\mysql-8.0.27-winx64\bin
D:\mysql_8.
0.27\mysql-8.0.27-winx64\bin>mysql -u root -p
Enter password:
123456
Welcome to the MySQL monitor.

 



  • 数据库管理系统DBMS、数据库、表的关系

  • 1)DBMS:理解为我们安装好的MySQL,对数据库进行统一的管理。

    • DBMS可以管理过个数据库

    • 用户要通过DBMS来访问数据库中表内的数据。

    • 一般一个应用创建一个数据库。每个数据库都是独立的,互不影响的。

    • 一般一个数据库中存在多张表,以保存程序中实体的数据。

    • 总结:现有数据库--->再有表--->再有数据--->一个库包含多个表。



 



  • SQL语句的介绍

  • 1)数据库安装成功之后,即可通过SQL语句进行操作。

  • 2)SQL结构化查询语言。对数据库、表、数据进行操作。

  • 3)SQL是数据库管理系统都需要遵循的规范。不同的数据库生产厂商都支持SQL语句,但都有特定内容。(可以理解为SQL规范是普通话,MySQL是特有方言,Oracle是特有方言。每安装一个数据库,都有自己的数据库管理系统。)

 



  • SQL语句的分类:DDL、DML 、DQL、DCL(权限方面)

  • 1)DDL语句,操作对象是数据库、表和列,具体操作是增加、删除及修改(操作数据库以及表的create,drop,alter等)

    • 数据定义语言

    • 即只能对数据库和表进行操作

    • 不能对表中的数据进行操作

    • 具体:增加一个数据库、删除一个数据库,修改一个数据库;增加表,删除表,修改表。



  • 2)DML语句,操作对象是表数据,具体操作是增加、删除、修改(对表数据进行insert、delete、update)

    • 数据操作语言

    • 只能对表数据进行操作



  • 3)DQL语句,操作对象是表数据,具体操作是简单查询、条件查询、模糊查询、分组查询、分页、排序(对表数据进行各种维度select查询,where条件查询)

    • 数据查询语言

    • 简单查询:对应的姓名,生日、地址一系列信息全部查出来;或指定列的查询,我们只要你的姓名、年龄。

    • 条件查询:大于20岁学生的查询;学生中为男生的都有谁。

    • 模糊查询:按照某一个关键字进行查询。

    • 分组查询:计算班里男生的平均分是多少分,女生的平均分是多少分。



  • 4)DCL语句,用于定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT、REVOKE等。

    • 数据控制语言



 



  • MySQL数据库的约束

  • 1)你能让我做什么,不让我做什么。

  • 2)保证数据的正确性、有效性和完整性。

  • 3)三种约束:主键约束、唯一约束、非空约束。

    • 主键约束:表中的这一条数据,保证唯一。(张三,19岁,数据分数98;张三,19岁,数据分数98;这两个张三要怎么区分,咱们就可以使用主键进行区分。)

    • 唯一约束:数据内容不能重复(身份证、电话号都是不能重复的。)

    • 非空约束:收集信息时,要求用户名必须填写。





推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
author-avatar
旧情人旧往事_322
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有