什么是数据库呢?
简单明了就是存储数据的库,它是通过一定的数据结构来进行组织和操作的,例如mysql、DB2、Oracle、SQL Server、MariaDB等等目前最常用的就是MySQL和Oracle
什么是MYSQL?
MySQL是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
数据库类型
当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。
非关系型数据库有 NoSql、Cloudant、redis。
1.关系型数据库
关系型数据库把所有的数据都通过行和列的二元表现形式表示出来。
关系型数据库的优势:1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2. 事务支持使得对于安全性能很高的数据访 问要求得以实现。对于这两类数据库,对方的优势就是自己的弱势,反之亦然。
2.非关系型数据库
非关系型数据库的优势:1. 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
2. 可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
SQL结构化查询语言
必须是通过服务器,连接我们的数据库,才能进行操作
使用各种SQL语句、增、删、改、查
1.数据定义语言(DDL):
用于定义和管理数据对象,包括数据库,数据表等。例如:CREATE,DROP,ALTER等。
数据库 -> 数据表:对数据库或数据表的创建、删除、修改等操作
2.数据操作语言(DML):
用于操作数据库对象中所包含的数据。例如:INSERT,UPDATE,DELETE语句。
对数据的 增、删、改 这些操作,就是数据操作语言
3.数据查询语言(DQL):
用于查询数据库对象中所包含的数据,能够进行单表查询,
连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据
返回客户机中显示。SELECT
4.数据控制语言(DCL):
是用来管理数据库的语言,包括管理权限及数据更改。
库
操作数据库的一些命令
1.创建数据库
create database 数据库名;
注意:
1.如果数据库已存在,不能创建同名的数据库
2.创建命令和数据库名都不区分大小写
if not exists 如果数据库已存在,加上前面的关键字可以避免报错
2.删除数据库
drop database 数据库名;
3.查看已创建的数据库
show databases;
4.使用一个数据库
use 数据库名;
5.查看当前我们所使用的数据库
select database();
6.查看建库语句
show create database 数据库名;
说明:通过该命令,我们可以看到所建数据库的建库语句、编码类型;
注意:
1.MySQL数据库中命令不区分大小写。
2.每创建一个数据库,就会在data目录下创建一个以此数据库名称命名的文件夹。
3.在Windows下,数据库名称也是不区分大小写的,但在Linux下,数据库名称严格区分大小写。
7. 对数据表的操作
表中的字段,其实可以理解为table表格中的表头
1>创建数据表(不加任何主键信息,自增,数据限制条件的简易数据表创建)>最初练习可用
create table 表名(
字段名1 字段类型,
字段名2 字段类型,
字段名3 字段类型
);
注意:
1.创建一个数据表时,它的每个字段之间用逗号","隔开;
2.最后一个字段不用逗号",";
3.创建完表以后,最后的括号后面使用分号结束
4.建表时,表名后面的括号中写表的字段名(字段类型)
2> 查看表结构
desc 表名;
3> 查看建表语句
show create table 表名;
4> 查看当前数据库存在的数据表
show tables;
5> 删除数据表
drop table 表名
8.对数据的操作
1> 添加数据
① insert into 表名 (字段1,字段2……) values (值1,值2……);
② insert into 表名 values (值1,值2……),(值1,值2……);
③ insert into 表名 (字段1,字段2……) values (值1,值2……),(值1,值2……);
④ insert into 表名 values (值1,值2...);
⑤ insert into 表名 set 字段1=值1,字段2=值2...;
注意:
1.值和字段名要一一对应,否则会报错
2.你写入的值一定要和数据类型相匹配
2> 删除数据
delete from 表名 where 条件;
注意:删除数据的时候,一定要加上where条件,否则会删除所有的数据
3> 修改数据
update 表名 set 要修改的字段=修改后的值 where 条件
注意:修改数据的时候,一定要加上where条件,否则会修改所有的数据
4> 查找数据
select *(所有字段) from 表;
select 字段1,字段2.. from 表;