数据库概述
数据库(Database) DB,是按照数据结构来管理和存储数据的仓库。
数据库的特点
持久化
方便管理和存储数据
使用统一的操作方式
数据库的分类
根据数据中数据关系来进行分类
关系型数据库
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。
简单理解:保存的实体与实体之间的关系。(用户、商品、订单)
非关系型数据库
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSql数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效的补充。
NoSQL( NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
常见的数据库
Oracle 公司Oracle(甲骨文)数据产品,收费的大型的数据库。 MySQL 开源的,被Oracle收购了,小型的数据库。5.x版本免费,6.x收费了 SQLServer 微软的,收费的中型的数据库。 DB2 IBM公司收费的大型的数据库。 SyBASE PowerDigener软件(非常牛)
数据库常见操作
启动mysql
1. 命令行输入: net start mysql(mysql服务名称);
停止
1. 命令行输入:net stop mysql57
图形化:
我的电脑右键 --》 管理--》 服务和应用程序 --》 服务 --》 mysql服务(右键)
登陆和退出
登陆
在启动MySQL服务器后,我们需要使用管理员用户登录MySQL服务器,然后来对服务器进行操作。登录MySQL需要使用MySQL的客户端程序:mysql.exe 本地登陆 mysql -uroot -p123 -h localhost -u:后面的root是用户名,这里使用的是超级管理员root -p:后面的123是密码,这是在安装MySQL时就已经指定的密码 -h:后面给出的localhost是服务器主机名,它是可以省略的,例如: mysql -uroot -p123 (不提示输入密码) mysql -u root -p //root是用户名,输入这条命令按回车键后系统会提示你输入密码 退出
exit
quit
SQL 语句
什么是sql
sql(Structured Query Language):结构化查询语言
其实就是定义了操作所有关系型数据库的规则(规范)
SQL语言分类
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; create、drop、alter等 DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据); insert、delete、update等 DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别; DQL(Data Query Language):数据查询语言,用来查询记录(数据)。 select、where等 sql通用语法
-
可以多行或单行书写,以分号结束
-
可以使用空格或者制表符来格式化,优化代码结构
-
sql不区分大小写,关键字建议大写
-
注释 1. 单行 --注释的内容 #注释的内容 2. 多行 /* 注释 */
数据库和表的关系
一个数据库的服务器中有多个数据库 一个数据库中有多张表,每个表有多个字段,字段和Java中类的属性是一一对应的。 表中每一条记录对应的是一个Java实例对象
操作数据库
创建数据库
create database 数据库名
创建数据库并指定编码
create database test2 CHARACTER SET 'gbk'
查看数据库
SHOW DATABASES;
修改数据库
ALTER DATABASE 数据库名称 CHARACTER SET 编码;
删除数据库
语法:DROP DATABASE 数据库名称;
切换数据库
use 数据库名;