MySQL数据库01

MySQL数据库 

前言:

  随着时代的进步,大数据也逐渐走进大家的生活中,成为大家密不可分的一样东西。因此,作为程序员的我们,要学习并会使用数据库。

 

什么是数据库?

  数据库就是一个文件系统,通过标准的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

posted @ 2020-03-25 10:50  Charles_H  阅读(339)  评论(0编辑  收藏  举报