数据库基本知识(自己整理,初学者可以看一下,基于MySql)

合集下载

MySQL

MySQL

MySQL 数据库的基础知识⽬录1. 认识数据库1.1 数据库和数据结构的关系1.2 为什么需要数据库1.3 数据库的存储2. SQL2.1 介绍2.2 分类3. 数据库的类别3.1 关系型数据库3.2 ⾮关系型数据库3.3 区别4. MySQL 的程序结构4.1 客户端和服务器4.2 MySQL 的客户端-服务器结构4.3 MySQL 服务器1. 认识数据库1.1 数据库和数据结构的关系是指相互之间存在⼀种或多种特定关系的数据元素的集合,是⼀个抽象的学科顺序表、链表、栈、队列、⼆叉树、哈希表…和数据结构不同,它是⼀类更具体的可以管理数据的软件。

但是实现数据库的这个软件,需要⽤到很多的数据结构为了增删改查1.2 为什么需要数据库数据库要将数据进⾏管理的前提就是将数据进⾏存储。

但是存储数据使⽤⽂件就可以了,为什么还要弄个数据库呢?⽂件的安全性问题⽂件不利于数据查询和管理⽂件不利于存储海量数据⽂件在程序中控制不⽅便1.3 数据库的存储当下绝⼤部分计算机都遵守着冯诺依曼体系结构数据的存储⼀般放在内存储器和外存储器(外存储器包括:硬盘、光盘、U盘、软盘等,但这⾥指硬盘)数据库是有多种的,并没有统⼀规定所有数据库存放的位置,⼤部分数据库是把数据组织在外存储上,如:MySQL、Oracle、SQL Server少数数据库是把数据组织到内存上,如:Redis区别内存外存(硬盘)1内存的访问速度快硬盘的访问速度慢2内存的空间⼩硬盘的空间⼤3内存贵硬盘便宜4如果掉电,内存上的数据会丢失如果掉电,硬盘的数据不会丢失综合以上2、3、4的区别,认为 MySQL 使⽤硬盘来存储数据更好2. SQL2.1 介绍结构化查询语⾔(Structured Query Language)简称 SQL,是⼀种特殊⽬的的编程语⾔,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库系统SQL 是⼀种编程语⾔MySQL 是⼀种软件,它属于关系型数据库的⼀种,⽽关系型数据库都是⽀持 SQL 的,⽽⾮关系型数据库有的⽀持,有的不⽀持 SQL2.2 分类数据查询语⾔(DQL):其语句也称为“数据检索语句”,⽤以从表中获得数据,确定数据怎样在应⽤程序给出。

一文读懂MySQL基础知识点

一文读懂MySQL基础知识点

一文读懂MySQL基础知识点在MySQL的学习中,基础打好才是关键,为了让大家更好的学习MySQL,今天在这里整理了MySQL常用基础知识总结,需要的朋友可以参考一下!1、什么是MySQL?MySQL是一种关系型数据库,在Java企业级开发中非常常用,因为MySQL是开源免费的,并且方便扩展。

阿里巴巴数据库系统也大量用到了MySQL,因此它的稳定性是有保障的。

MySQL是开放源代码的,因此任何人都可以在GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。

MySQL的默认端口号是3306。

2、MySQL的分类(1)DDL数据定义语言(CREATE,ALTER,DROP,DECLARE),定义了数据库模式,包括CREATE、ALTER、DROP、TRUNCATE、MENT 与RENAME语句。

(2)DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)主要用于表达数据库的查询与更新,主要包括增删改查(INSERT,UPDATE,DELETE,SELECT)。

(3)DCL数据控制语言(GRANT,REVOKE,MIT,ROLLBACK) 用于用户权限的管理,包括了GRANT与REVOKE命令。

3、MySQL服务的登录和退出方式一:通过MySQL自带的客户端只限于root用户方式二:通过windows自带的客户端登录:MySQL【-h主机名-P端口号】-u用户名-p密码退出:exit或ctrl+C4、MySQL服务的启动和停止方式一:计算机——右击管理——服务方式二:通过管理员身份运行start 服务名(启动服务)stop 服务名(停止服务)5、MySQL的语句完整的执行顺序01、from子句组装来自不同数据源的数据,所以为表创建别名,别的地方可以用;02、where子句基于指定的条件对记录行进行筛选;03、group by子句将数据划分为多个分组;04、使用聚集函数进行计算;一定要知道他的执行顺序在group by后having之前05、使用having子句筛选分组;06、计算所有的表达式;07、的字段;08、使用order by对结果集进行排序6、MySQL存储引擎有哪些?(1)InnoDB存储引擎InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB是默认的MySQL引擎。

MySQL系列教程小白数据库基础

MySQL系列教程小白数据库基础

MySQL系列教程⼩⽩数据库基础⽬录1、基础概念与基础命令1)基础概念2)基础命令2、SQL语句的书写顺序和执⾏顺序1)⼀个完整SQL查询语句的书写顺序2)⼀个完整的SQL语句执⾏顺序3)关于select和having执⾏顺序谁前谁后的说明这⾥介绍的MySQL相关知识,并不是针对那些想学习DBA的同学,⽽是针对那些想转⾏、从事数据分析⾏业的同学。

下⾯这些知识点,是我学习MySQL数据库时,觉得有必要掌握的⼀些知识点。

1、基础概念与基础命令1)基础概念①数据库按照⼀定数据结构,存储和管理数据的仓库。

②数据库的分类数据库的常见分类,是将数据库分为关系型数据库和⾮关系型数据库。

③什么是关系型数据库?将复杂的关系,以简单的⼆元形式进⾏表⽰,即⽤⾏和列的形式进⾏表⽰(表格形式),其中每⼀⾏叫做记录,列叫做字段。

其中MySQL就是⼀种很常⽤的关系型数据库。

⼆元形式:类似于excel表格数据,就是⼀种⼆元形式。

④数据库管理系统:DBMS数据库管理系统是⽤于管理和操作数据库的软件。

其中,关系型数据库管理系统(RDBMS)有Oracle、MySQL、SQL Server、DB2、IBM等。

⾮关系型数据库管理系统(Nosql)有redis、Hbase、mongodb、neo4j等⑤ MySQL的介绍MySQL是⼀个关系型的数据库管理系统。

最初是由mysql ab公司设计出来的产品,后来被Oracle数据库收购了。

MySQL数据库内部采⽤“分库分表”的形式管理数据。

⼀个MySQL数据库管理系统可以管理多个数据库;⼀个数据库中⼜可以存放多张表。

同时MySQL开源免费,⽀持千万级别的数据查询,⽀持GPL(开源许可证)。

⑥什么是SQL语⾔?SQL语⾔,全称是“structured query language”,叫结构化查询语⾔,是操作数据库的标准化语⾔,能够实现对数据库的访问何操作。

⑦注意MySQL和SQL的区别!这⾥有⼀种错误的说法:你会不会MySQL?其实这个说法是有问题的,MySQL指的其是数据库管理系统,问你会不会MySQL,其实是问你会不是对数据库进⾏增、删、改、查,因此这个MySQL说的就是前⾯提到的“SQL语⾔”,只不过⼤家习惯性的⽤MySQL这种说法代替SQL。

MySQL基础知识总结

MySQL基础知识总结
day15-MySQL
数据库
1 数据库概念(了解)
1.1 什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先:
1
可存储大量数据; 方便检索; 保持数据的一致性、完整性; 安全,可共享; 通过组合分析,可产生新数据。
1.2 数据库的发展历程 没有数据库,使用磁盘文件存储数据; 层次结构模型数据库; 网状结构模型数据库; 关系结构模型数据库:使用二维表格来存储数据; 关系-对象模型数据库; MySQL 就是关系型数据库!
➢ 表结构:定义表的列名和列类型! ➢ 表记录:一行一行的记录!
我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。
2
当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包 含多张表。
4.3 删除数据 语法: DELETE FROM 表名 [WHERE 条件]
DELETE FROM stu WHERE sid=’s_1001’003B DELETE FROM stu WHERE sname=’chenQi’ OR age > 30; DELETE FROM stu;
语法: TRUNCATE TABLE 表名 TRUNCATE TABLE stu;
数据库表就是一个多行多列的表格。在创建表时,需要指定表的列数,以及列名称,列类型等 信息。而不用指定表格的行数,行数是没有上限的。下面是 tab_student 表的结构:
当把表格创建好了之后,就可以向表格中添加数据了。向表格添加数据是以行为单位的!下面 是 s_student 表的记录:
s_id S_1001 S_1002 S_1003

数据库基础知识汇总-超详细

数据库基础知识汇总-超详细

数据库基础知识汇总-超详细
本文档旨在汇总数据库基础知识,帮助读者快速了解数据库的概念和常见术语。

以下是一些重要的数据库基础知识:
1. 什么是数据库?
- 数据库是一个存储、管理和组织数据的系统。

它提供了一种结构化的方式来存储和操纵数据,以支持应用程序和用户的需求。

2. 数据库管理系统(DBMS)
- 数据库管理系统是一个软件工具,用于管理数据库。

它允许用户创建、访问和维护数据库,并提供了各种功能来处理数据。

3. 数据模型
- 数据模型是用于组织和表示数据的方法。

常见的数据模型包括层次数据模型、网络数据模型和关系数据模型。

4. 关系数据库
- 关系数据库是基于关系模型的数据库系统。

它使用表来表示数据,并使用结构化查询语言(SQL)进行数据操作。

5. 数据库表
- 数据库表是数据的集合,由行和列组成。

每行代表一个记录,每列代表一个属性。

6. 主键
- 主键是用于唯一标识数据库表中记录的列。

它保证每条记录
都有一个唯一标识。

7. 外键
- 外键是一个表中的列,它与另一个表中的主键相对应。

它用
于建立表之间的关系。

8. 数据库索引
- 数据库索引是一种数据结构,用于快速查找和访问数据。


可以提高数据库查询的性能。

9. 数据库范式
- 数据库范式是一组规则,用于设计关系数据库的结构。

它有
助于消除数据冗余和提高数据一致性。

以上只是数据库基础知识的一部分,更多内容可以在深入研究中探索。

希望这份文档对您有所帮助!。

大一mysql数据库知识点总结

大一mysql数据库知识点总结

大一mysql数据库知识点总结MySQL是一种常用的关系型数据库管理系统,广泛应用于各个领域。

作为大一学生,学习和掌握MySQL数据库的基本知识是非常重要的。

本文将对大一学习MySQL数据库所需的基础知识进行总结。

一、数据库基础知识1. 数据库的定义与作用数据库是一个有组织的数据集合,可以进行高效的数据存储、管理和查询。

它在现代应用中扮演着非常重要的角色,有助于数据的有效管理和使用。

2. 数据库管理系统(DBMS)数据库管理系统是一种管理数据库的软件,用于增加、删除、修改和查询数据。

MySQL是一种开源的DBMS,它具有良好的性能、稳定性和易用性。

3. 数据库和表的创建在MySQL中,可以使用SQL语句来创建数据库和表。

创建数据库使用CREATE DATABASE语句,创建表使用CREATE TABLE语句。

4. 基本数据类型MySQL支持多种数据类型,包括整型、浮点型、字符型等。

不同的数据类型适用于不同的数据存储和操作需求。

二、SQL语言基础1. SQL语言概述结构化查询语言(SQL)是一种用于访问和管理数据库的语言。

它可以用来执行查询、插入、更新和删除等操作。

2. 数据库查询使用SELECT语句可以从数据库中检索数据。

可以使用WHERE子句进行条件筛选,使用ORDER BY子句进行排序。

3. 数据库插入使用INSERT INTO语句可以向数据库的表中插入新的数据。

需要指定要插入的字段和对应的值。

4. 数据库更新使用UPDATE语句可以修改数据库中的数据。

可以使用SET 子句指定要更新的字段和新的值,并使用WHERE子句指定更新的条件。

5. 数据库删除使用DELETE FROM语句可以从数据库中删除数据。

可以使用WHERE子句指定删除的条件。

三、数据库设计与规范化1. 数据库设计的重要性数据库设计是指根据应用需求设计数据库的结构和关系。

良好的数据库设计可以提高查询和操作的效率,减少数据冗余和数据错误。

mysql数据库掌握的知识点

mysql数据库掌握的知识点

mysql数据库掌握的知识点
1. 数据库基础:理解数据库的概念、关系型数据库模型、表、列、行、主键等基本术语。

2. SQL 语言:熟练掌握SQL 语言的基本语法,包括创建表、插入数据、查询数据、更新数据和删除数据等操作。

3. 数据库设计:学习如何设计良好的数据库结构,包括规范化、表关系、索引等。

4. 数据类型:了解MySQL 中支持的不同数据类型,包括整数、浮点数、字符串、日期时间等。

5. 函数和表达式:学习如何使用MySQL 中的函数和表达式来处理数据,例如字符串函数、数学函数、日期函数等。

6. 查询优化:了解如何优化查询以提高数据库性能,包括选择合适的索引、避免全表扫描等。

7. 存储过程和触发器:了解如何创建和使用存储过程和触发器来自动化数据库操作。

8. 事务和锁定:理解事务的概念和ACID 属性,以及如何使用锁定机制来确保数据的一致性。

9. 备份和恢复:学习如何备份和恢复数据库,以防止数据丢失。

10. 安全性:了解MySQL 的安全机制,包括用户认证、权限管理等。

mysql基础知识归纳

mysql基础知识归纳

mysql基础知识归纳MySQL是一种关系型数据库管理系统(RDBMS),广泛应用于各种规模和类型的应用程序中。

本文将基于MySQL的基础知识,从安装和配置、数据库和表的创建、数据的插入和查询、索引的创建和使用等方面逐步介绍MySQL的基本使用方法。

第一步:安装和配置MySQL在开始使用MySQL之前,我们需要先安装和配置MySQL。

MySQL有多个版本可供选择,其中包括MySQL Community Edition、MySQL Enterprise Edition和MySQL Cluster等。

我们可以根据自己的需求选择适合的版本。

安装MySQL通常分为下载和安装两个步骤。

我们可以从MySQL官方网站(安装完MySQL后,我们需要进行一些基本的配置。

其中包括设置MySQL 的根密码、设置MySQL的字符集等。

这些配置可以通过修改MySQL配置文件(通常为myf)来完成。

第二步:数据库和表的创建在开始使用MySQL存储数据之前,我们需要先创建数据库和表。

数据库是存储数据的集合,而表是数据库中的一个结构化数据表,由行和列组成。

我们可以使用MySQL的命令行工具(如MySQL Shell)或者MySQL的可视化工具(如MySQL Workbench)来创建数据库和表。

首先,我们需要登录MySQL,进入MySQL的命令行界面。

我们可以通过以下命令登录MySQL:mysql -u username -p其中,username是我们的用户名,-p表示需要输入密码。

登录成功后,我们可以使用以下命令创建数据库:CREATE DATABASE database_name;其中,database_name是我们要创建的数据库的名称。

创建数据库后,我们可以使用以下命令选择数据库:USE database_name;然后,我们可以使用以下命令创建表:CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,....);其中,table_name是我们要创建的表的名称,column1、column2等是表的列,datatype是列的数据类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库1常见数据库1.1MySql : 甲骨文1.2Oracle: 甲骨文1.3SQL Server: 微软1.4Sybase: 赛尔斯1.5DB2:IBM2MySql基础知识2.1关系结构数据模型数据库2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等操作数据库CREATE DATABASE [IF NOT EXISTS]mydb1USE mydb1DROP DATABASE [IF NOT EXISTS] mydb1ALTER DATABASE mydb1 CHARACTER SET utf8操作表插入表CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) );更改表AL TER TABLE t_user ADD (student varcher(20))AL TER TABLE t_user MODIFY gender CHAR(20)AL TER TABLE t_user CHANGE gender VARCHER(20)AL TER TABLE t_user REMANE genderTO gendersAL TER TABLE t_user DROP gender删除表DROP TABLE t_user2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)插入数据INSERT INTO t_user VALUES()INSERT INTO 表名VALUES(值1,值2,…)更新数据UPDATE t_user SET name=""UPDATE 表名SET 列名1=值1, …列名n=值n [WHERE 条件]删除数据虽然TRUNCATE和DELETE都可以删除表的所有记录,但有原理不同。

DELETE的效率没有TRUNCATE 高!TRUNCATE其实属性DDL语句,因为它是先DROP TABLE,再CREATE TABLE。

而且TRUNCATE删除的记录是无法回滚的,但DELETE删除的记录是可以回滚的(回滚是事务的知识!)。

DELETE FROM t_userDELETE FROM 表名[WHERE 条件]TRUNCATE TABLE stu;TRUNCATE TABLE 表名2.2.3DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别创建用户CREATE USER 用户名@地址IDENTIFIED BY '密码';给用户授权GRANT 权限1, …, 权限n ON 数据库.* TO 用户名查看用户权限SHOW GRANTS FOR 用户名撤销用户权限REVOKE权限1, …, 权限n ON 数据库.* FORM 用户名删除用户DROP USER 用户名修改用户名密码UPDATE USER SET PASSWORD=PASSWORD('1234') WHERE User='user2' and Host=’localhost’; FLUSH PRIVILEGES;2.2.4DQL(Data Query Language):数据查询语言,用来查询记录(数据)基础查询SELECT selection_list /*要查询的列名称*/FROM table_list /*要查询的表名称*/WHERE condition /*行条件*/GROUP BY grouping_columns /*对结果分组*/HAVING condition /*分组后的行条件*/ORDER BY sorting_columns /*对结果分组*/LIMIT offset_start, row_count /*结果限定*/模糊查询SELECT * FROM t_user WHERE name LIKE'____'聚合函数COUNT(); MAX();MIN();AVG();SUM();多表查询连接查询内连接SELECT * FROM department d INNER JOIN employee e ON d.deptno = e.deptno 左连接SELECT * FROM department d LEFT JOIN employee e ON d.deptno = e.deptno 右连接SELECT * FROM department d RIGHT JOIN employee e ON d.deptno = e.deptno 自然连接查询内连接SELECT* FROM department d NATURAL INNER JOIN employee e左连接SELECT* FROM department d NATURAL LEFT JOIN employee e右连接SELECT* FROM department d NATURAL RIGHT JOIN employee e2.3完整性约束(主外键)2.3.1主键特点非空唯一被引用语法CREATE TABLE stu( sid CHAR(6) PRIMARY KEY, sname VARCHAR(20), age INT, gender VARCHAR(10) );ALTER TABLE stu ADD PRIMARY KEY(sid);CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), PRIMARY KEY(sid) );2.3.2外键外键必须引用另一张票的主键CREATE TABLE t_section( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(30), u_id INT, CONSTRAINT fk_t_user FOREIGN KEY(u_id) REFERENCES t_user(uid) );2.4多表查询2.4.1合并结果集笛卡尔积2.4.2连接查询内连接方言Select * from emp AS e, dept AS d WHERE emp.deptno= dept.deptno AS可以省略标准SELECT * FROM emp e INNER JOIN dept d ON e.deptno = d.deptno INNER 可以省略外连接左外连接Select * from emp e LEFT OUTER JOIN dept d ON e.deptno = d.deptno OUTER可以省略右外连接Select * from emp e RIGHT OUTER JOIN dept d ON e.deptno = d.deptno OUTER可以省略自然连接SELECT * FROM emp NATURAL JOIN dept; SELECT * FROM emp NATURAL LEFT JOIN dept; SELECT * FROM emp NATURAL RIGHT JOIN dept;2.4.3子查询子查询结果集的形式Ø 单行单列(用于条件)Ø 单行多列(用于条件)Ø 多行单列(用于条件)Ø 多行多列(用于表)2.5关系模型(表)2.5.1一对多/多对一2.5.2多对多2.5.3一对一3数据库基础知识3.1JDBC3.1.1JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库3.1.2JDBC核心类(接口)介绍DriverManagerConnectionStatement用于向数据库发送SQL语句l void executeUpdate(String sql):执行更新操作(insert、update、delete等);l ResultSet executeQuery(String sql):执行查询操作,数据库在执行查询后会把查询结果,查询结果就是ResultSet;批处理l void addBatch(String sql):添加一条语句到“批”中;l int[] executeBatch():执行“批”中所有语句。

返回值表示每条语句所影响的行数据;l void clearBatch():清空“批”中的所有语句。

PreparedStatementStatement接口的子接口优点Ø 防SQL攻击;Ø 提高代码的可读性、可维护性;Ø 提高效率!API¨给出SQL模板!¨调用Connection的PreparedStatement prepareStatement(String sql模板);¨调用pstmt的setXxx()系列方法sql模板中的?赋值!¨调用pstmt的executeUpdate()或executeQuery(),但它的方法都没有参数。

批处理pstmt.addBatch()ResultSetrs.next();//光标移动到第一行rs.getInt(1);//获取第一行第一列的数据3.2DBUtils3.2.1DBUtils是Apache Commons组件中的一员,开源免费,是对JDBC的简单封装3.2.2API构造方法QueryRunner qr = new QueryRunner();QueryRunner qr = new QueryRunner(dataSource)增删改查update():执行insert、update、delete;query():执行select语句public <T> T query(String sql, ResultSetHandler<T> rh, Object… params)public <T> T query(Connection con, String sql, ResultSetHandler<T> rh, Object… params)batch():执行批处理3.3数据库连接池3.3.1Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商可以让自己的连接池实现这个接口3.3.2Tomcat配置连接池JNDI(Java Naming and Directory Interface),Java命名和目录接口。

相关文档
最新文档