我在准备测开,就是数据结构到后面都比较抽象了,我打算就是重点学习前面数组,字符串,双指针,二叉树,链表。后面的就以理解为主,没有花太多时间去想。
有一些八股的我打算以后再直接背,现在学习一些操作性的东西
现在开始学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
