目录
数据库
定义
用于存储以及统计数据的仓库,可以永久存储(硬盘)
优点
可存储大量数据;
方便检索;
保持数据的一致性、完整性;
安全,可共享;
通过组合分析,可产生新数据。
分类
关系型数据库和非关系型数据库
关系型数据库
是指才采用了关系模型来组织数据的数据库,强调使用表格的方式存储数据
database:一个数据库包含n张表
table:有行列组成,表记录,表结构
表结构:表包含的那个列,每一列的数据类型,说明,创建表的时候就是创建表的结构
表记录:表中的数据,一行数据就是一行记录
字段:列
非关系型数据库
强调字典方式存储数据
SQL
结构化查询语言,是一种用来操作RDMS的数据库的语言,通过SQL可以操作Oracle,sql server,mysql,sqlite等关系型的数据库
SQL语句的基本语法包括以下几个方面:
数据库操作语言(DML)
用于增、删、改和查表中的数据。
插入数据:INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
删除数据:DELETE FROM table_name WHERE condition;
更新数据:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
查询数据:SELECT column1, column2, ... FROM table_name WHERE condition;
数据库定义语言(DDL)
用于定义数据库的结构。
创建数据库:CREATE DATABASE database_name;
删除数据库:DROP DATABASE database_name;
创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, column3 datatype, ...);
删除表:DROP TABLE table_name;
数据库控制语言(DCL)
用于授权和撤销访问数据库的权限。
授权:GRANT permission ON database_name.table_name TO user_name@host;
撤销授权:REVOKE permission ON database_name.table_name FROM user_name@host;
数据库管理语言(DML)
用于管理数据库实例和服务器实例。
创建用户:CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
删除用户:DROP USER 'username'@'localhost';
修改密码:ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
查看当前登录用户:SELECT USER();
MySQL
MySQL是一个关系型数据库管理系统
特点:
MySQL是开源的,不需要支付额外的费用;
MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库;
MySQL使用标准的SQL数据语言形式;
MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口,c、c++、python、Java、Ruby等等。
MySQL采用客户端/服务器模式,服务器端是一个进程,负责接收并响应客户端的请求,客户端可以通过网络连接到服务器,使用MySQL协议进行通信。
以下是MySQL的一些基本概念和相关知识:
表:表是数据库中的一组数据,其中每个表代表一个实体(如一个员工、一个订单等),表由行和列组成。
列:列是表中的一个字段,它代表了表中某种类型的数据。
行:行是表中的一条记录,代表了某个实体的一个实例,行由列组成。
主键:主键是表中一列或多列的组合,用于唯一标识表中的每一行数据。主键可以用于检索和排序表中的数据。
外键:外键是用于关联两个表的字段,它指向了另一个表中的主键。通过外键,可以实现数据的关联和查询。
SQL语句:SQL是一种结构化查询语言,用于在关系型数据库中查询和操作数据。SQL语句包括SELECT、INSERT、UPDATE、DELETE等命令。
索引:索引是用于加快数据库查询速度的一种数据结构。它可以在表中某一列上创建一个索引,以便在查询时快速定位到匹配的行。
视图:视图是一种虚拟表,它是从一个或多个表中选取部分数据构造出来的。视图可以简化复杂的查询操作,提高数据的安全性。
存储过程:存储过程是一种预定义的程序,它包含了一系列的SQL语句和控制语句。存储过程可以被多个应用程序调用,可以大大提高数据库的性能。
事务:事务是一系列的数据库操作,这些操作要么全部执行成功,要么全部执行失败。事务可以保证数据的一致性和完整性。
连接池:连接池是一种数据库连接管理技术,它可以在应用程序启动时预先建立一定数量的数据库连接,避免每次访问数据库时都重新建立连接,提高数据库访问的效率。
1.操作数据库
(1)登录
格式:
mysql -hlocalhost -uroot –p
(2)查询
格式:
show databases;
(3)退出
格式:
exit;
2.创建数据库和表格
格式:create database [数据库名];
数据库:
CREATE DATABASE database_name;
表格:
CREATE TABLE table_name (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
3.插入数据
INSERT INTO table_name (name) VALUES ('John');
4.查询数据
所有记录:
SELECT * FROM table_name;
部分记录:
SELECT * FROM table_name WHERE name = 'John';
5.更新数据
UPDATE table_name SET name = 'Tom' WHERE id = 1;
6.删除数据
DELETE FROM table_name WHERE id = 1;