【定义】: 数据库是按照数据结构来组织、存储和管理数据的仓库。
【定义】: DBMS是专门用于管理数据库的计算机系统软件,数据库管理系统能为是数据库提供数据定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
【定义】: 实验数据库技术的系统,基本上所有的信息管理系统都是数据库应用系统,因为基本上需要用到数据库。
【层次数据库和网状数据库技术阶段】: 使用指针来标识数据之间的联系。
【关系数据库技术阶段】: 使用表这种关系将数据组织起来,经典的里程碑阶段,代表DBMS;Oracle、DB2、Mysql等。
【非关系数据库技术阶段】: 随着大数据的不断发展,关系型数据库在数据模型、性能、拓展伸缩性上存在一个缺点,所以非关系型的数据库现在成了一个新的热门。
【非关系型数据库分类】:
【简介】: 人和人之间交流需要语言、程序员和数据库之间交流也就需要语言、而这个语言就是SQL语言。
【SQL】: 结构化查询语言,是关系型数据库标准语言。
【SQL语言特点】: 简单、灵活、功能强大。
【简介】: 用于从表中获取数据,确定数据怎样在应用程序中给出。保留字SELECT是DQL用的最多的动词,其他DQL常用的保留字有WHERE、ORDER BY、GROUP BY等。
【简介】: 其语句包括动词INSERT、UPDATE、DELETE,分别用于添加、修改、删除表中的行。也称为动作语言。
【简介】: 它的语句能确保被DML语句影响的表的所有行及时得以更新。
【简介】: 它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
【简介】: 其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREATTABLE或DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
【简介】: 它的语句,像DECLARE CURSOR , FETCH INTO和UPDATE WHERECURRENT用于对一个或多个表单独行的操作。
关键字大写、其他小写。
【简介】: Mysql是关系型数据库、关系型数据库最核心的概念就是表,表具有固定的列数和任意函数,在数学上称为“关系”。二维表是同类实体的各种属性的集合,每个实体对应表中的一行,在关系中被称为元组。
| 面向对象概念 | 面向关系概念 |
|---|---|
| 类 | 表 |
| 对象 | 表的行 (记录) |
| 属性 | 表的列 (字段) |
【数据库对象】: 存储、管理和使用数据的不同结构形式。如:表、视图、存储过程、函数、触发器、事件等。
【数据库】: 存储数据库对象的容器。
【系统数据库】:
【用户数据库】: 用户自己定义的数据库,一般的,一个项目一个用户数据库。
【数据库对象、数据库、数据库服务器之间的关系】:

Mysql中的数据库用各种不同的技术存储在文件中,这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供不同的功能和能力。
【MySql常见存储引擎】:
| MySql | Java |
|---|---|
| INT | int |
| BIGINT | long |
| DECIMAL | BigDecimal |
| DATE/DATETIME | java.util.Date |
| VARCHAR | String |
【语法】:
CREATE TABLE 表名(
列名1 列的类型 [约束],
列名2 列的类型 [约束],
列名N 列的类型 约束
);
【语法】:
DROP TABLE 表名;
【主键设计】:
INSERT INTO t_student(id,`name`,age,email) VALUES(7,"哈哈",18,"16513258@qq.com");
INSERT INTO t_student (id,`name`,email)VALUES(8,"算法","1");
INSERT INTO t_student (`name`,age,email) VALUES
("哈哈2",18,"16513258@qq.com"),
("哈哈3",18,"16513258@qq.com");
INSERT INTO t_student(`name`,age,email) SELECT `name`,age,email FROM t_student WHERE email="16513258@qq.com";
UPDATE t_student SET name="李四" WHERE name="算法";
UPDATE t_student SET name="张三",age=15,email="454155@qq.com" WHERE id=7;
DELETE FROM t_student WHERE id=8;
SELECT * FROM product;
SELECT id,productName,salePrice FROM product;
SELECT DISTINCT dir_id FROM product;
SELECT id,productName,salePrice * cutoff from product;
SELECT id,productName,costPrice * 50 from product;
SELECT id,productName,(costPrice+1) * 50 from product;
SELECT id,productName,(costPrice+1)* 50 AS allPrice from product;
SELECT CONCAT(productName,'商品的零售价为:',salePrice)FROM product;
SELECT * FROM product WHERE productName="罗技G9X";
SELECT * FROM product WHERE salePrice < 200;
SELECT *,salePrice * cutoff allPrice FROM product WHERE salePrice * cutoff > 350;
SELECT * FROM product WHERE salePrice>=300 AND salePrice<=400;
SELECT * FROM product WHERE dir_id=2 OR dir_id=4;
SELECT * FROM product WHERE salePrice>=250 OR costPrice>=200;
SELECT * FROM product WHERE NOT dir_id=2;
SELECT * FROM product WHERE salePrice BETWEEN 300 AND 400;
SELECT * FROM product WHERE NOT salePrice BETWEEN 300 AND 400;
SELECT id,productName FROM product WHERE dir_id IN (2,4);
SELECT id,productName FROM product WHERE NOT dir_id IN (2,4);
SELECT * FROM product WHERE productName IS NULL;
SELECT * FROM product WHERE supplier='';
SELECT * FROM product WHERE productName like '%罗技G%';
SELECT id, productName,dir_id,salePrice FROM product ORDER BY salePrice DESC;
SELECT id, productName,dir_id,salePrice FROM product ORDER BY dir_id DESC,salePrice ASC;
SELECT * FROM product ORDER BY salePrice DESC LIMIT 0,5;
SELECT * FROM product ORDER BY salePrice DESC LIMIT 5,5;
SELECT * FROM product ORDER BY salePrice DESC LIMIT 10,5;
SELECT * FROM product ORDER BY salePrice DESC LIMIT 15,5;
SELECT * FROM product ORDER BY salePrice DESC LIMIT 20,5;
SELECT COUNT(*) total FROM product;
SELECT SUM(costPrice) costTotal FROM product;
SELECT MAX(costPrice) FROM product;
SELECT MIN(costPrice) FROM product;
SELECT AVG(costPrice) FROM product;