Java-设置连接数据库
连接池技术
从连接池得到的对象的 close 不是关闭, 而是复用。
dbcp 连接池
需要导入 apache 的 pool 和 dbcp 包, 和基础的 mysql connection 包
c3p0 连接池
官网 https://www.mchange.com/projects/c3p0/
下载 C3P0 工具包:https://sourceforge.net/projects/c3p0/files/latest/download?source=files
从连接池得到的对象的 close 不是关闭, 而是复用。
需要导入 apache 的 pool 和 dbcp 包, 和基础的 mysql connection 包
官网 https://www.mchange.com/projects/c3p0/
下载 C3P0 工具包:https://sourceforge.net/projects/c3p0/files/latest/download?source=files
约束(constraint)管理如何插入或处理数据库数据的规则。
主键约束
表中任意列只要满足以下条件,都可以用于主键。
外键约束
外键是表中的一列,其值必须列在另一表的主键中。外键是保证引用完整性的极其重要部分。
提示:外键有助防止意外删除,除帮助保证引用完整性外,外键还有另一个重要作用。在定义外键后,DBMS 不允许删除在另一个表中具有关联行的行。例如,不能删除关联订单的顾客。删除该顾客的唯一方法是首先删除相关的订单(这表示还要删除相关的订单项)。由于需要一系列的删除,因而利用外键可以防止意外删除数据。有的 DBMS 支持称为级联删除(cascading delete)的特性。如果启用,该特性在从一个表中删除行时删除所有相关的数据。例如,举例如果启用级联删除并且从客户表中删除某个顾客,则任何关联的订单行也会被自动删除。
SQL 是由关键字组成的语言,关键字是一些用于执行 SQL 操作的特殊词汇。在命名数据库、表、列和其他数据库对象时,一定不要使用这些关键字。因此,这些关键字是一定要保留的。
所支持的其他 SHOW 语句还有:
❑ SHOW STATUS,用于显示广泛的服务器状态信息;
❑ SHOW CREATE DATABASE 和 SHOW CREATE TABLE,分别用来显示创建特定数据库或表的 MySQL 语句;
❑ SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限;
❑ SHOW ERRORS 和 SHOW WARNINGS,用来显示服务器错误或警告消息。
显示所有可用的字符集以及每个字符集的描述和默认校对。
show character set;
MySQL 下载地址为: MySQL 下载 。 这里我们挑选 MySQL Community Server。拿到压缩包后我们将进行解压后配置启动。这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。
打开刚刚解压的文件夹 C:\web\mysql-8.0.11,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
1 | [client] |
与其他 DBMS 一样,MySQL 有一个具体管理和处理数据的内部引擎。在你使用 CREATE TABLE 语句时,该引擎具体创建表,而在你使用 SELECT 语句或进行其他数据库处理时,该引擎在内部处理你的请求。多数时候,此引擎都隐藏在 DBMS 内,不需要过多关注它。但 MySQL 与其他 DBMS 不一样,它具有多种引擎。它打包多个引擎,这些引擎都隐藏在 MySQL 服务器内,全都能执行 CREATE TABLE 和 SELECT 等命令。为什么要发行多种引擎呢?因为它们具有各自不同的功能和特性,为不同的任务选择正确的引擎能获得良好的功能和灵活性。
以下是几个需要知道的引擎:
外键不能跨引擎 混用引擎类型有一个大缺陷。外键(用于强制实施引用完整性,如第1章所述)不能跨引擎,即使用一个引擎的表不能引用具有使用不同引擎的表的外键。
它涉及以下步骤:
❑ 用新的列布局创建一个新表;
❑ 使用 INSERT SELECT 语句(关于这条语句的详细介绍,请参阅第 19 章)从旧表复制数据到新表。如果有必要,可使用转换函数和计算字段;
❑ 检验包含所需数据的新表;
❑ 重命名旧表(如果确定,可以删除它);
❑ 用旧表原来的名字重命名新表;
❑ 根据需要,重新创建触发器、存储过程、索引和外键。