文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL数据库01

2017-07-09 19:08

关注

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯