MySQL-day1

我在准备测开,就是数据结构到后面都比较抽象了,我打算就是重点学习前面数组,字符串,双指针,二叉树,链表。后面的就以理解为主,没有花太多时间去想。

有一些八股的我打算以后再直接背,现在学习一些操作性的东西

现在开始学mysql,看的b站视频【全85集】MySQL数据分析零基础小白必看!MySQL数据库基础教程,SQL数据库快速入门!(全程干货)_哔哩哔哩_bilibili

数据库基本概念

数据库

数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表中。数据表之间相互关联,反映客观事物间的本质联系。

数据库管理系统

数据库管理系统是用来定义和管理数据的软件。

数据库应用程序

数据库应用程序是在数据库管理系统基础上,使用数据库管理系统的语法,开发的直接面对最终用户的应用程序。

数据库分类

关系型数据库

关系型数据库最典型的数据结构是表 ,由二维表 及其之间的联系 所组成的一个数据组织。可以采用结构化查询语言(SQL)对数据库进行操作。
优点:

易于维护:都是使用表结构,格式一致;

使用方便:SQL语言通用,可用于复杂查询;

复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:

读写性能比较差,尤其是海量数据的高效率读写;

固定的表结构,灵活度稍欠;

高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库

非关系型数据库也称之为NoSQL数据库,是一种数据结构化存储方法的集合,可以是文档

或者键值对等。
优点:

格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。

速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

高扩展性;

成本低:nosq|数据库部署简单,基本都是开源软件。

缺点:

不提供sql支持,学习和使用成本较高

无事务处理

数据结构相对复杂,复杂查询方面稍欠

Mysql基础知识

MySQL是开源 的。

MySQL支持大型系统的数据库 。可以处理拥有上千万条记录的大型数据库。MySQL使用标准的SQL数据语言形式。

MySQL可以运行于多个系统 上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP等。

MySQL存储数据量较大 ,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB.

下载mysql和navicat...

安装完毕

连接mysql和navicat

点击连接,下面的mysql

连接名,自己取,最好是全字母

密码是之前安装mysql时设置的密码

弄好之后点击页面下面的"确定"

再双击左边的刚刚建立的连接。绿色就是连上了

sql语言

结构化查询语言(structured query language)简称sql,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系数据库系统。

语言分类

数据查询语言 (DQL:Data Query Language)其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出。关键字SELECT是DQL(也是所有SQL)用得最多的动词。

SELECT

FROM

WHERE

ORDER BY

HAVING

数据操作语言 (DML:Data Manipulation Language)其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。

INSERT:添加数据

UPDATE:更新数据

DELETE:删除数据

数据定义语言 (DDL:Data Definition Language)定义数据库对象语言,其语句包括动词CREATE和DROP等。

CREATE:创建数据库对象

ALTER:修改数据库对象

DROP:删除数据库对象

数据控制语言 (DCL:Data Control Language)它的语句通过GRANT或REVOKE获得许可,确定用户对数据库对象的访问。

GRANT:授予用户某种权限

REVOKE:回收授予的某种权限

事务控制语言 (TCL:Transaction Control Language)它的语句能确保被DML语句

影响的表的所有行及时得以更新。

COMMIT:提交事务

ROLLBACK:回滚事务

SAVEPOINT:设置回滚点

语言语法

sql语句不区分大小写,关键字建议大写

sql语句可以单行或多行书写,以分号结尾

创建与删除数据库

创建数据库

1.sql语言创建

sql 复制代码
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符编码;

CREATE DATABASE(创建数据库关键字)

test(数据库名称)

DEFAULT CHARACTER SET(指定默认编码类型关键字)

utf8(指定编码)
示例 :

创建一个test的数据库,并查看该数据库,以及该数据库的编码。创建数据库:

sql 复制代码
create database test default character set utf8;

在那个mysql黑的命令行里面,输入密码

看一下创建成功没有

sql 复制代码
show databases;

2.navicat创建

删除数据库

1.sql语句删除

sql 复制代码
DROP DATABASE 数据库名称;

DROP DATABASE(删除数据库关键字)

test(数据库名称)

示例:

删除test数据库

sql 复制代码
drop database test;

2.navicat删除

选择数据库

在创建表时,需要先选择数据库

sql 复制代码
USE 数据库名;

示例

先创建数据库,再选择

mysql中的数据类型

MySQL 数据类型概述

MySQL 支持多种数据类型,主要分为以下几类:数值类型、日期和时间类型、字符串类型、空间数据类型以及 JSON 类型。每种类型根据存储需求和应用场景的不同而有所区别。

(----)表示用的比较多的类型


数值类型

整数类型
  • TINYINT(----): 1 字节,范围 -128 到 127(有符号)或 0 到 255(无符号)。
  • SMALLINT: 2 字节,范围 -32768 到 32767(有符号)或 0 到 65535(无符号)。
  • MEDIUMINT: 3 字节,范围 -8388608 到 8388607(有符号)或 0 到 16777215(无符号)。
  • INT/INTEGER(----): 4 字节,范围 -2147483648 到 2147483647(有符号)或 0 到 4294967295(无符号)。
  • BIGINT: 8 字节,范围 -2^63 到 2^63-1(有符号)或 0 到 2^64-1(无符号)。
浮点数类型
  • FLOAT(----): 4 字节,单精度浮点数,近似数值。
  • DOUBLE(----): 8 字节,双精度浮点数,近似数值。
  • m是总位数,d小数位

日期和时间类型

  • DATE : 存储日期,格式为 YYYY-MM-DD,范围 1000-01-01 到 9999-12-31。
  • TIME : 存储时间,格式为 HH:MM:SS,范围 -838:59:59 到 838:59:59。
  • DATETIME : 存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS,范围 1000-01-01 00:00:00 到 9999-12-31 23:59:59。
  • TIMESTAMP: 存储时间戳,范围 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC。与时区相关。

字符串类型

文本字符串
  • CHAR(n)(----) : 固定长度字符串,长度 n(0 到 255),存储时会填充空格。
  • VARCHAR(n)(----) : 可变长度字符串,长度 n(0 到 65535),按实际长度存储。
  • TEXT(----): 存储长文本,最大 65535 字符。
  • TINYTEXT: 最大 255 字符。
  • MEDIUMTEXT: 最大 16777215 字符。
  • LONGTEXT: 最大 4294967295 字符。
二进制字符串
  • BLOB(----): 存储二进制大对象,最大 65535 字节。
  • TINYBLOB: 最大 255 字节。

今天先学到这吧,视频1-9集已经看完,进度9/85

相关推荐
阿波罗尼亚10 小时前
数据库序列(Sequence)
数据库
Junsir大斗师11 小时前
Nginx服务器代理Postgresql-16后端数据库
数据库·nginx
Je1lyfish11 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
m0_5967490912 小时前
如何防止SQL拼接漏洞_使用PDO对象实现安全的SQL交互
jvm·数据库·python
老纪的技术唠嗑局13 小时前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
2301_7950997415 小时前
golang如何在Gin中自定义验证器_golang Gin自定义验证器实现方法
jvm·数据库·python
2301_7662834415 小时前
如何在MongoDB GridFS中进行按文件大小(length)范围的查询
jvm·数据库·python
布吉岛的石头16 小时前
分库分表实战:Sharding-JDBC 快速落地
分布式·mysql
冬天vs不冷16 小时前
面试必知必会(13):MySQL锁机制
mysql·面试·职场和发展