MySQL数据库01
MySQL数据库
前言:
随着时代的进步,大数据也逐渐走进大家的生活中,成为大家密不可分的一样东西。因此,作为程序员的我们,要学习并会使用数据库。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
什么是数据库?
数据库就是一个文件系统,通过标准的SQL语句获取数据
MySQL数据库又是什么呢?
MySQL数据库是一个关系型数据库。 (关系型数据库:存放的是实体之间的关系)
常见的关系型数据库: MySQL、Oracle、SQLServer、DB2、ByBase 等等.....
数据库服务器从硬件和软件两方面来说:
①硬件:指的是一台配置很高的电脑
②软件:需要在这台电脑上安装数据库服务器
MySQL的数据库服务器的存储方式:
在数据库服务器的内部,通过数据库存储数据,通常情况下一个应用创建一个数据库。
在数据库中,一般用表存储数据,在一个系统中,通常为每个实体创建一个表。
在一个表中,往往会有很多条记录,一个实体的实例,会创建一个新的记录。
接下来我们来介绍一下SQL语句:
SQL:结构化查询语言(通俗点:访问数据库的语言)
SQL的分类:①DDL:数据定义语言 ②DCL:数据控制语言
③DML:数据操纵语言 ④DQL:数据查询语言
首先是学习数据库的操作: 创建数据库、查看数据库、修改数据库、删除数据库
创建数据库:create database 数据库名称 [character set 字符集 collate 字符集校对规则]; // 【】中的内容可以省略
查看数据库:①查看数据库服务器内所有数据库:show databases;
②查看某个数据库的定义信息:show create database 数据库名称;
修改数据库:alter database 数据库名称 character set 字符集 collate 校对规则;
删除数据库:drop database 数据库名称;
其他数据库操作: (这个就不具体展示了)
切换数据库:use 数据库名称;
查看当前数据库:select database<>;
接下来是学习操作数据库表:
创建表:create table 表名称(字段名称 字段类型(长度) 约束, 字段名称 字段类型(长度) 约束, 字段名称...);
我们先介绍一下里面所涉及的内容:
字段类型:一个实体对应一个表,一个实体属性对应表的一个字段。
接下来我会用JAVA的数据类型与SQL中的字段类型一一对应。
JAVA:byte/short/int/long
SQL: tinyint/smallint/int/bigint
JAVA | SQL |
float | float |
double | double |
boolean | bit |
char/String | char/varchar |
Date | date/time/datetime/timestamp |
File | BLOB/TEXT |
datetime和timestamp区别:
datetime:既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用null存入到数据库中。
timestamp:既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用系统时间存入到数据库中。
char代表是固定长度的字符或字符串
varchar代表是可变长度的字符串
单表约束:
作用:保证数据的完整性
单表约束分类:主键约束、唯一约束、非空约束
主键:primary key 主键约束默认就是唯一的,非空的。
唯一:unique
非空:not null
查看表:
①查看某个数据库下的所有表:show tables;
②查看某个表的结构信息:desc 表名;
删除表:drop table 表名;
修改表:
添加列:alter table 表名 add 列名 类型(长度) 约束;
修改列类型、长度和约束:alter table 表名 modify 列名 类型(长度) 约束;
删除列:alter table 表名 drop 列名;
修改列名称:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
修改表名:rename table 表名 to 新表名;
修改表的字符集:alter table 表名 character set 字符集;
对数据库表的记录进行操作:
添加表的记录:
插入某些列:insert into 表名 (列名1,列名2,列名3......) values(值1,值2,值3.........);
插入所有列:insert into 表名 values(值1,值2,值3......);
注意事项:
1. 值的类型与数据库表列的类型一致。
2. 值的顺序与数据库中表列的顺序一致。
3. 值的最大长度不能超过列设置最大长度。
4. 值的类型是字符串或者是日期类型,使用单引号引起来。
修改表的记录:update 表名 set 列名=值,列名=值 where 条件;
修改某一列的所有值: update 表名 set 列名 = xxxx;
修改特值列的值; update 表名 set 列名 = xxx where 列名 = xxx;
修改多个列: update 表名 set 列名=xxx,列名=xxx where 列名 = xxx;
[这里就不一一举例了,按照模板来即可。]
删除表的记录:delete form 表名 where 条件;
注意事项:
1. 删除表的记录,指的是删除表中的一行记录。
2. 删除如果没有条件,默认是删除表中所有的记录。
删除表中的记录两种做法:
1.delete from user 【DML】; 一条记录一条记录删除,事务可以作用在DML语句上。
2.truncate table user 【DDL】; 将表删除,然后重新创建一个结构一样的表,事务不能控制DDL。
ps:关于事务,到MYSQL02时会讲。
查看表的记录:
基本查询:select * from 表名; // 查询所有,也可以添加条件,只查询个别。
别名查询:select 列名 as 别名 from 表名;
条件查询:
where子句: >,<,>=,<=,<>,= <>:不等于 、ike:模糊查询、in:范围查询、条件:and,or,not
比较大小查询:
范围查询:in (区间)
模糊查询:
模糊查询介绍: ①like 'C_'; // 必须是2个字,且C开头
②like 'C%'; // 只要以C开头即可
③like '%C%'; // 只要其中有C即可
④like '&C'; // 只要结尾有C即可
排序查询:条件后面使用 order by 字段名称 asc升序【默认】 desc降序
分组统计查询:
聚合函数的使用: sum();、count();、max();、min();、avg(); // 这里就不举例了
注:where的子句后面不能跟着聚合函数,如果现在使用带有聚合函数的条件过滤,需要使用 having关键字。
分组查询:用group by 字段名称 【这个例子不标准】
小结:
以上就是本次MySQL数据库的基本使用介绍,后面我将会接着介绍多表以及事务,另外排版有点乱,见谅,嘿嘿嘿(缓解尴尬)。
加油!
时间:2020-03-25 02:06:17
