Javas数据库第二章

1.MySQL的版本:
(1)社区版:可自由下载,免费,官方不提供任何技术支持。
(2)企业版:不能自由下载,收费,有官方技术支持。

2.MySQL的优势:
(1)运行速度块。
(2)使用成本低。
(3)容易使用。
(4)可移植性强。
(5)适用更多客户。

3.MySQL的四个比较重要的文件的作用:
(1)bin文件夹:该文件夹下存放着可执行文件。
(2)include文件夹:该文件夹下存放着头文件。
(3)lib文件夹:该文件夹下存放着库文件。
(4)share文件夹:该文件夹下存放着字符集,语言等信息。

4.通过修改MySQL配置文件来手动配置数据库服务器MySQL是,常用的参数如下:
(1)default——character——set:客户端默认字符集。
(2)character——set——server:服务器端默认字符集。
(3)port:客户端和服务端的端口号。
(4)default——storge——engine::MySQL默认储存引擎。

5.MySQL附带系统数据库:
(1)information_schema:主要储存系统中的一些数据库对象信息,如用户表信息,字段信息,权限 信息,字符集信息和分区信息等。
(2)performance_schema:主要储存数据库服务器性能参数。
(3)mysql:主要储存系统的用户权限信息。
(4)test:MySQL数据库管理系统自动创建的测试数据库,任何用户都可以使用。

6.MySQL5.7 操作数据库:
(1)创建数据库语法:
CREATE DATABASE 数据库名称;
(2)查看数据库列表语法:
SHOW DATABASES;
(3)选择数据库语法:
USE 数据库名称;
(4)删除数据库语法:
DROP DATABASE 数据库名称;


使用命令提示符(DOS)进行关闭,链接数据库:
(5)关闭数据库:
在黑窗口(CMD)中输入
C:\Program Files\MySQL\MySQL Server 5.7>net stop MySQL57

(6)连接数据库:
C:\Program Files\Mysql -u toot -p



7. 表的创建,查询,删除语法:
(1)创建表语法:
CREATE TABLE [IF NOT EXISTS] 表名(
字段 1 数据类型 [字段属性| 约束] [索引] [注释],
字段 2 数据类型 [字段属性| 约束] [索引] [注释],
..........
)[表类型] [表字符集] [注释];

A.定义单主键语法:
CREATE TABLE 表名(
字段1 数据类型 PRIMARY KEY;
);


B.多字段联合主键语法:
CREATE TABLE 表名(
。。。
PRIMARY KEY[字段1,字段2]
);
举例:
CREATE TABLE borrow(
rid VARCHAR(10) COMMENT'读者编号',
nif VARCHAR(10) COMMENT'图书编号',
lendDate DATETIME COMMENT'借阅日期',
willDate DATETIME COMMENT'应归还日期',
returnDate DATETIME COMMENT'实际归还日期',
primary KEY(rid,nif,lendDate)
)COMMENT="图书借阅表";

C.注释关键字:
COMMENT = " ";
COMMENT ' '
举例:
CRETE TABLE test(
id int(11) UNSIGNED COMMENT '编号'
)COMMENT="测试表"

D:自增长关键字:(自增长与主键配套使用)
auto_increment
举例:
CREATE TABLE grade(
gradeID int(4) comment'年级编号' PRIMARY KEY NOT NULL AUTO_INCREMENT,
gradeName VARCHAR(50) not NULL COMMENT'年级名称'
)COMMENT="年级表" AUTO_INCREMENT=1;

E.默认关键字:
DEFAULT

F.唯一关键字:
UNIQUE KEY


(2)查询表语法:SHOW tables;
注意:在执行 查询语句之前必须选定数据库,否则会报错误提示"No database selected"。
查看表的定义:DESCRIBE 表名;
或:
DESC 表名;

(3)删除表语法:
DROP TABLE [IF EXISTS] 表名;



8.SQL语言包括四部分:
(1)DML(数据操作语言):用来插入,修改和删除表中的数据,如INSERT、UPDATE、DELETE语句。
(2)DDL(数据定义语言):在数据库中创建或删除数据库对象等操作,如CREATE、DAROP、ALTER等语句。
(3)DQL(数据查询语言):用来对数据库中的数据进行查询,指SELECT语句。
(4)DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等,如GRANT、REVOKE等。

9.MySQL常用数值类型:



10. MySql的核心就是存储引擎:(一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求 ,使用合适的存储引擎,将会提高整个数据库的性能)

存储引擎针对于表!

(1) 设置表的储存引擎语法:CREATE TABLE(
#省略代码
)ENGINE=储存引擎;

(2) 如果要想查看数据库默认使用哪个引擎,可以通过使用命令:
SHOW VARIABLES LIKE 'storage_engine';

(3) InnoDB存储引擎(如果一张表频繁的修改用InnoDB)
InnoDB是事务型数据库的首选引擎, 支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL引擎。InnoDB主要特性有:
1、InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事物安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。在SQL查询中,可以自由地将InnoDB类型的表和其他MySQL的表类型混合起来,甚至在同一个查询中也可以混合
2、InnoDB是为处理巨大数据量的最大性能设计。它的CPU效率可能是任何其他基于磁盘的关系型数据库引擎锁不能匹敌的
3、InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB将它的表和索引在一个逻辑表空间中,表空间可以包含数个文件(或原始磁盘文件)。这与MyISAM表不同,比如在MyISAM表中每个表被存放在分离的文件中。InnoDB表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上
4、InnoDB支持外键完整性约束,存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID,并以此作为主键
5、InnoDB被用在众多需要高性能的大型数据库站点上
InnoDB不创建目录,使用InnoDB时,MySQL将在MySQL数据目录下创建一个名为ibdata1的10MB大小的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的5MB大小的日志文件

(4) MyISAM存储引擎(如果一张表只查询用MyISAM)
MyISAM基于ISAM存储引擎,并对其进行扩展。 它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一 。MyISAM拥有较高的插入、查询速度,但 不支持事物 。MyISAM主要特性有:
1、大文件(达到63位文件长度)在支持大文件的文件系统和操作系统上被支持
2、当把删除和更新及插入操作混合使用的时候,动态尺寸的行产生更少碎片。这要通过合并相邻被删除的块,以及若下一个块被删除,就扩展到下一块自动完成
3、每个MyISAM表最大索引数是64,这可以通过重新编译来改变。每个索引最大的列数是16
4、最大的键长度是1000字节,这也可以通过编译来改变,对于键长度超过250字节的情况,一个超过1024字节的键将被用上
5、BLOB和TEXT列可以被索引
6、NULL被允许在索引的列中,这个值占每个键的0~1个字节
7、所有数字键值以高字节优先被存储以允许一个更高的索引压缩
8、每个MyISAM类型的表都有一个AUTO_INCREMENT的内部列,当INSERT和UPDATE操作的时候该列被更新,同时AUTO_INCREMENT列将被刷新。所以说,MyISAM类型表的AUTO_INCREMENT列更新比InnoDB类型的AUTO_INCREMENT更快
9、可以把数据文件和索引文件放在不同目录
10、每个字符列可以有不同的字符集
11、有VARCHAR的表可以固定或动态记录长度
12、VARCHAR和CHAR列可以多达64KB
使用MyISAM引擎创建数据库,将产生3个文件。文件的名字以表名字开始,扩展名之处文件类型:frm文件存储表定义、数据文件的扩展名为.MYD(MYData)、索引文件的扩展名时.MYI(MYIndex)

(5) MEMORY存储引擎
MEMORY存储引擎 将表中的数据存储到内存中,未查询和引用其他表数据提供快速访问 。MEMORY主要特性有:
1、MEMORY表的每个表可以有多达32个索引,每个索引16列,以及500字节的最大键长度
2、MEMORY存储引擎执行HASH和BTREE缩影
3、可以在一个MEMORY表中有非唯一键值
4、MEMORY表使用一个固定的记录长度格式
5、MEMORY不支持BLOB或TEXT列
6、MEMORY支持AUTO_INCREMENT列和对可包含NULL值的列的索引
7、MEMORY表在所由客户端之间共享(就像其他任何非TEMPORARY表)
8、MEMORY表内存被存储在内存中,内存是MEMORY表和服务器在查询处理时的空闲中,创建的内部表共享
9、当不再需要MEMORY表的内容时,要释放被MEMORY表使用的内存,应该执行DELETE FROM或TRUNCATE TABLE,或者删除整个表(使用DROP TABLE)

11 .储存引擎选择:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值