数据库的概述
一.什么是数据库?
所谓数据库就是指存储和管理数据的仓库
二.数据库的有哪些分类:
数据库早期:有层次式数据库和网络型数据库 (经过发展与更新) 现在:关系型数据库和非关系型数据库
- 关系型数据库:底层是以二维表的形式保存数据的库就是关系型数据库
-
stu-学生表
学生编号 姓名 年龄 01 张三 19 02 李四 20
-
- 常见的关系型数据库有哪些(了解即可)
- Sql Server:微软提供,收费! 适用于一些中型或大型的项目中,在java中的使用占比不高
- Oracle:甲骨文公司提供,收费,适用于一些大型或者超大型的项目中,在java中的使用占比非常高 (目前正在学习还未体验过)
- mysql:瑞典MySQLAB公司提供,免费开源,适用于一些小型或者中型的项目中,在java中的使用占比较高(小巧轻量)
- DB2:IBM公司提供,收费! 在一些银行,金融等行业中使用较多,在Java中使用占比也不高
- Sqlite:迷你数据库,嵌入式设备中(安卓,苹果,pad)
数据库相关概念
1.什么是数据库服务器:
- 数据库服务器就是一个软件(比如mysql软件)将数据库软件安装在电脑上,当前电脑就是一个数据库服务器.可以对外提供存取数据的服务
- 在一个数据库服务器中可以创建多个数据库(dataBases),每个数据库都是一个单独的仓库.
2.什么是数据库
- 数据库就是存储和管理数据的仓库,通常情况下,一个网站中的所有数据会存放在一个数据库中.例如
JD.com db_jd(数据库)
taobao.com db_taobao(数据库)
3.什么是表
- 一个数据库中可以创建多张表,每张表用于存储一类信息
jd.com中的用户数据 tb_user(表)
jd.com中的商品数据 tb_product(表)
jd.com中的订单数据 tb_order(表)
...
4.什么是表记录
一张表中可以包含多行表记录,每一行表记录用于存储某一个具体的数据
学生编号 | 姓名 | 年龄 |
01 | 张三 | 18 |
02 | 李四 | 22 |
... | ... |
什么是SQL语言?
SQL是一门用于操作关系型数据库的通用语言(SQL可以操作所有的关系型数据库)使用SQL可以操作数据库,表,表记录
- 创建数据库,删除数据库,修改数据库,查询数据库
- 创建表,删除表,查询表,修改表
- 新增表记录,删除表记录,修改表记录,查询表记录
使用SQL是一个标准通用的操作关系数据库的语言(可以理解为全国都说的普通话),每个数据库厂商为了增强自己数据库的功能,都提供了支持自己数据库的语言,称之为数据库的方言,方言可是不通用的!
连接mysql服务器
通过命令行工具可以登陆MySQL客户端,连接MySQL服务器,从而访问服务器中的数据.
1.连接mysql服务器
mysql -uroot -p密码
-u: 后面的root是用户名,这里使用超级管理员root.
-p: 后面的密码是在安装MySQL时自己设定的密码(例如我的密码是:root,和用户名保持一致不然容易忘)
2.连接mysql服务器并指定IP和端口
mysql -uroot -proot -h127.0.0.1 -p3306
-h:后面给出的127.0.0.1是服务器主机名或ip地址,可以省略的,默认连接本机;
-P:后面的3306是连接端口,可以省略,默认连接3306端口;
3.退出客户端命令:quit或exit或 \q
4.FAQ:常见问题:
解决方法:复制mysql安装目录下的bin目录的路径,将bin目录的路径添加到path环境变量中!
数据库及表操作
创建, 删除, 查看数据库
提示:
- SQL语句对大小写不敏感.推荐关键字使用大写,自定义的名称(库名,表名,列名等)使用小写
- 并且在自定义名称时,针对多个单词不要使用驼峰命名,而是使用下划线连接.(例如:tab_name,而不是 tabName )
1.查看mysql服务器中所有数据库:
show databases;
2.进入某一数据库(需要先进入数据库,才能对数据库操作) 语法: use 库名;
ues test
查看已进入的库(不太常用,现在cmd下面都会有提示,反正我没太用过)
select database();
3.查看数据库中的所有表
show tables
4.删除库 语法: drop database 库名; (这里假装有一个my01库, 删库跑路):
drop database my01;
当删除的库不存在是系统会报错,避免错误:
drop database if exists my01;
5.创建库(my01),并指定编码为utf-8(不然可能会出现乱码现象)
语法: create database 库名 charset 编码; 需要注意的是mysql中不支持(-)
create database my01 charset utf8; 注意:如果存在my01,则先删除再重建
判断一下如果不存在则创建:
create database if not exists mydb1 charset utf8;
6.查看建库时的语句(顺便验证下编码是否设置)
语法: show create database 库名;
show create database mydb1; 查看建库时的语句
show create table stu; 查看建表时的语句
今天库的操作到这里,太晚了,明天分享表的操作