数据库
好处:
数据持久化
使用完整的管理系统统一管理,易于查询
常见数据库:
MySql Oralce (体积大) DB2 (IDM公司,银行) SqlService(微软公司)
MySql
mysql是一个小型关系型数据库管理系统
开发者:瑞典MySql AB公司(08年被Sun公司收购,09年Sun公司被Oracle收购,现属于Oracle公司)
特点:体积小,速度快,开放源代码,成本低
Database(DB)数据库,存储数据仓库(保存一系列有组织的数据)
DataBase Management System(DBMS) 数据库管理系统,数据库是通过DBMS创建和操作的容器
Structure Query Language(SQL) 结构化查询语言,结构化查询语言是与数据库通讯的语言
补充:SQL语言不是专有语言,所有DBMS都支持SQL
Java中与数据库相互对应 : 类→表 属性→列 对象→行
在使用数据库时:一定要确保数据库服务启动即开启(经常用的话可以设置为自动开启)
方式 一:电脑→管理→服务和应用程序→服务→开启对应服务
方式二:cmd里面输入net start mySql 启动服务 net stop MySql 关闭服务
语法规范:
1. 不区分大小写 2. 每句话用“;”或“\g”结尾 3. 子句一般分行写
4. 关键字不能缩写,不能分行 5. 注释用:- - 空格(不参与编译,提供可读性)
SQL语句使用:
1. 检测数据库是否存在,如果存在就删除。例:
-- 检测数据库
DROP DATABASE IF EXISTS BookManager;
2. 创建数据库。例:
-- 创建数据库
CREATE DATABASE BookManager;
3. 使用库。例:
-- 使用数据库
USE BookManager;
4. 检测表是否存在。例:
-- 检测表
DROP TABLE IF EXISTS BookType;
-- 检测表
DROP TABLE IF EXISTS BookInfo;
5. 创建表。例:
-- 创建表
CREATE TABLE BookType(-- 创建图书类表
typeId INT PRIMARY KEY AUTO_INCREMENT,-- 该类的id
typeName VARCHAR(50) NOT NULL-- 该类的名字
)ENGINE=INNODB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
-- 创建表
CREATE TABLE BookInfo(-- 创建图书信息表
bookId INT PRIMARY KEY AUTO_INCREMENT,-- 图书Id号
bookName VARCHAR(50) NOT NULL,-- 图书名
bookType INT ,-- 图书类别
bookAuthor VARCHAR(50) NOT NULL,-- 作者
bookPrice FLOAT NOT NULL,-- 价格
CONSTRAINT info_ky FOREIGN KEY(bookType) REFERENCES BookType(typeId)
)ENGINE=INNODB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1001;
6. 初始化数据。例:
-- 初始化图书类表数据
INSERT INTO BookType VALUES(DEFAULT,'科学');
INSERT INTO BookType VALUES(DEFAULT,'外语');
INSERT INTO BookType VALUES(DEFAULT,'计算机');
INSERT INTO BookType VALUES(DEFAULT,'医学');
INSERT INTO BookType VALUES(DEFAULT,'机械');
INSERT INTO BookType VALUES(DEFAULT ,'其它');
-- 初始化图书信息数据
INSERT INTO BookInfo VALUES(DEFAULT,'语文',6,'夺','11');
INSERT INTO BookInfo VALUES(DEFAULT,'C++',3,'在','44');
INSERT INTO BookInfo VALUES (DEFAULT,'C',3,'我','55');
INSERT INTO BookInfo VALUES (DEFAULT,'鲁班',5,'66');
INSERT INTO BookInfo VALUES (DEFAULT,'English',2,'42');
INSERT INTO BookInfo VALUES (DEFAULT ,'发明',1,'100');
7. 对表进行操作。例:
-- 查询
SELECT * FROM BookType;
SELECT * FROM BookInfo WHERE bookType=3;
SELECT * FROM BookInfo ;
-- 删除
DELETE FROM BookInfo WHERE bookName='English';
-- 修改
UPDATE BookInfo SET bookAuthor='猪' WHERE bookAuthor='我'
注:
关键字大写(默认大写,也会自动生成),
主键:primary key 外键:foreign key()
delete 是清除表中的数据 drop 是对数据和表都进行清除,一般不使用(一般含有引用外键的表不能删除)
' '表示字符串(就是键盘上单引号和双引号上的哪个键),` `表示使用了关键字作为字段名标明为普通字段名(键盘上的Esc键)