所谓的数据库就是指存储和管理数据的仓库
早期的数据库类型: 层次式数据库、网络型数据库
现在的数据库类型:关系型数据库、非关系型数据库
底层以二维表的形式保存数据的库就是关系型数据库:
如我们常用的Excel表格就是关系型
stu-学生表
学生编号 | 姓名 | 年龄 |
---|---|---|
202001001 | 张三 | 19 |
202001002 | 李四 | 18 |
目前市面上常用的数据库都是关系型数据库,主要有以下几种:
Sql Server:微软提供,收费,适用于一些中型或大型的项目中,在java中的使用占比不高(.NET中使用的较多)
Oracle:甲骨文公司提供,收费,适用于一些大型或者超大型的项目中,在java中的使用占比非常高。
MySQL:瑞典MySQLAB公司提供,免费开源,适用于一些小型或者中型的项目中,在Java中的使用占比较高(小巧轻量)。
Mariadb其实就是MySQL的一个分支,用法和MySQL完全一样。其实也是有MySql开发团队独立出来的一部分人开发的数据库。
DB2:IBM公司提供,收费,在一些银行、金融等行业中使用较多。在java中的使用占比也不高。
Sqlite:迷你数据库,嵌入式设备中(安卓、苹果手机、pad)。
数据库服务器就是一个软件(比如mysql软件)将数据库软件安装在电脑上,当前电脑就是一个数据库服务器。就可以对外提供存取数据的服务
在一个数据库服务器中可以创建多个数据库(dataBases),每一个数据库都是一个单独的仓库。
数据库就是存储和管理数据的仓库,通常情况下,一个网站的中的所有数据会存放在一个数据库中。例如:
jd.com db_jd(数据库)
taobao.com db_taobao(数据库)
...
一个数据库中可以创建多张表,每张表用于存储一类信息(数据库),例如:
jd.com中的用户数据组成了用户表→ jdtb_user(表)
jd.com中的商品数据组成了商品表→ jdtb_product(表)
jd.com中的订单数据组成了订单表→ jdtb_order(表)
…
一张表中可以包含多行表记录,每一行表记录用于存储某一个具体的数据
学生编号 | 姓名 | 年龄 |
---|---|---|
1001 | 张三 | 20 |
1002 | 李四 | 18 |
… | … | … |
SQL是一们用于操作关系型数据库的通用的语言(使用SQL可以操作所有的关系型数据库)
使用SQL可以操作数据库、表、表记录
(1)创建数据库、删除数据库、修改数据库、查询数据库
(2)创建表、删除表、修改表、查询表
(3)新增表记录、删除表记录、修改表记录、查询表记录
使用SQL也可以操作存储过程/视图/索引等。
提示:SQL是一个标准通用的操作关系型数据库的语言(相比如全国通用的普通话),每个数据库厂商为了增强自己数据库的功能,都提供了支持自己数据库的语言,称之为数据库的方言(相比如每个地方的方言)。
通过DOS窗口可以登录MySQL客户端,连接MySQL服务器,从而访问服务器中的数据。
mysql -uroot -p密码
**-u:后面的root是用户名,这里使用的是超级管理员root;
**-p:(小写的p)**后面的root是密码,这是在安装MySQL时就已经指定的密码;
mysql -uroot -proot -h127.0.0.1 -P3306
**-h:**后面给出的127.0.0.1是服务器主机名或ip地址,可以省略的,默认连接本机;
**-P:(大写的P)**后面的3306是连接端口,可以省略,默认连接3306端口;
解决方法:复制mysql安装目录下的bin目录,将bin目录的路径添加到path环境变量中!!
(1)在cmd中连接mysql服务器之后,可以使用 #、/**/、-- 等符号添加注释,例如:
(2)在cmd中连接mysql服务器之后,在书写SQL语句时,可以通过 \c 取消当前语句的执行。例如: