数据库第一天:
1.数据存储形式
- 文件(存储在硬盘)
文件存储的格式
对数据处理可以通过java代码实现
缺点:读写速度慢,硬盘本身的特点就是读写慢
- 变量(存储在内存)
读写速度块,临时数据的存储
- 数据库(数据库管理系统)
数据库管理系统(DBMS: database manage system) 是一套软件。是一种存储和管理数据表和软件系统。
适用于大数据量,支持多人并发操作。
数据库中的数据是永久存储,数据操作效率高
2.如果要使用数据库,需要做什么操作
- 安装数据库的服务器软件(server-服务器)
- 官网:MySQL
安装之前,先卸载其他的mysql服务器软件
建议:只安装 mysql server
安装完成之后:可以在服务中,找到mysql服务已经启动成功了
配置环境path,可以使用命令,操作数据库的数据
查询数据库版本:mysql --version
命令行链接数据库
安装客户端软件:
Navicat Premium 15:通过客户端软件,连接到mysql服务器软件,然后使用图形化的操作界面,降低sql的难度
客户端软件的操作:图形化界面
3.数据库分类
关系型数据库 MySQL ,sql sever,oracle,db2......
数据以二维表的方式存储
表与表之间的方式存储
实体之间的关系关联
支持SQL(结构化查询语言)语言(近期学习的重点)
非关系型数据库 :redis(后期要使用),MongoDB,Hbase.....
数据按不同的数据类型存储。
不支持SQL
4.ER模型(E-entity实体,R-relation关系)
ER模型,就是将数据库中的table之间的关系,以图形的方式展示出来
ER模型,就是创建数据库的依据
矩形代表实体,菱形代表关系,椭圆代表实体的属性
表之间的关系:
一对一:一个国家有一个总统
一对多:一个班级有多个学生
多对多:课程和学生
5.mysql的命令行操作
连接到mysql服务器:
mysql-u root -p
使用mysql的命令
-- 是mysql的注释
show databases; -- 显示所有的数据库
use hello;-- 选择要使用的数据库的名字
show tables;-- 显示hello数据库的所有的表
des stu;-- 查看stu表的结构
-- Field ,字段
-- Type ,字段的类型
-- Key ,(是否为主)键
+--------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| name | varchar(255) | YES | | NULL | |
| age | int | YES | | NULL | |
| gender | varchar(10) | YES | | NULL | |
+--------+--------------+------+-----+---------+-------+
insert into stu(name,age,gender)values('邹麟',18,'女');
-- 插入数据的sql语句
-- 插入成功之后,数据库的提示信息:Query OK, 1 row affected (0.00 sec) 汉字需要加单引号
select * from stu;-- 查询数据
+------+------+--------+
| name | age | gender |
+------+------+--------+
| 刘思 | 20 | 女 |
| 洪涵 | 20 | 男 |
| 林涛 | 21 | 男 |
| 邹麟 | 18 | 女 |
+------+------+--------+
update stu set age = 22 where name='洪涵';-- 修改数据
Query OK, 1 row affected (0.00 sec)-- 修改后之后成功信息
delete from stu; --删除数据
Query OK, 4 rows affected (0.00 sec) -- 删除成功之后的提示信息
drop table stu;-- 删除名字叫stu的表
drop database hello;-- 删除名字叫hello的数据库
create database cms; -- 创建名字叫cms的数据库
create table test(id int ,name varchar(6),pwd varchar(8));-- 创建一个叫test的表
6.SQL(Struct Query Language):结构化查询语言
sql语言中,字符串可以使用单引号或者双引号,保证单双引号匹配
注释:-- 注释内容 ,/**/
sql语言中,关键字不区分大小写,字段名不区分大小写,数据内容有大小写之分
比如:select 同SELECT,NAME字段,也可以是name,数据“ALICE”和“alice“就有区分
ql的使用:
- 创建数据库:create database 数据库名字;
create database 数据库名字 default character set utf8; --指定了数据库的编码
删除数据库:drop database 数据库名字;
2.创建表:
create table 表名(字段 字段类型 约束条件,字段2...)
如果字段名,表名和关键字去重复了,那么就在字段名或表名上添加引号。
尽量避免和关键字重名,一般表可以叫前缀:cms_stu --表示学生表 ,s_name --表示学生表的字段名
约束条件:not null,表示字段值不能是null int类型的数据,可以设置为自动增加 :auto_increment
主键约束:primary key ,主键的特征就是非空且不重复,一般用于实现表中的每行数据不重复。
drop table表名 :--删除表
数据库第二天:
1.安装数据库软件
--mysql server(服务器) 默认的服务器端口号:3306
2.navicat --client(客户端)
ip:port a.本地(连接自己的电脑)b.连接公共的
3.使用client 连接 server,然后可以操作服务器上的数据。