热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL数据库基础学习一、SQL的作用及分类二、数据类型三、存储引擎(建库建表、数据插入等))

MySQL 数据库基础学习一、SQL的作用及分类二、数据类型三、存储引擎 目标SQL的作用及分类数据库、表的创建(create)、修改(alter&#xff0

MySQL 数据库基础学习

    • 一、SQL的作用及分类
    • 二、数据类型
    • 三、存储引擎




目标
  1. SQL的作用及分类
  2. 数据库、表的创建(create)、修改(alter)及删除(drop)操作
  3. MySQL存储引擎作用及区别
  4. MySQL数据类型的分类及应用
  5. 主键(primary key)及自动递增(auto_increment)的应用
  6. 数据的添加操作(insert)

一、SQL的作用及分类

SQL:结构化查询语言,是一种数据库查询(数据库(database)、数据表(table)、视图(view)……)和程序设计语言,用于存取数据以及查询、更新和管理数据。补充:.sql是数据库脚本文件的拓展名。(.txt、.doc)

  1. 数据定义语言,DDL:针对数据库对象进行创建(create)、删除(drop)、修改(alter)

    A.创建数据库示例
    创建名为T的数据库
    create database T;
    B.删除数据库示例
    – 删除名为T的数据库
    drop database T;

    提醒:创建数据库后,会在mysql安装目录data文件夹下,产生同名的文件夹(对应数据库名);

    C、创建数据表示例
    – 在数据库T内创建名为 Students的数据表
    use T;#选择/使用数据库(切换当前操作数据库,方便后续的操作均是在指定的某数据库内完成)
    #在数据库的基础上创建表,以存放数据(逻辑结构上的)

create table Students(#描述表中列的结构(列名称 列存储数据的类型 列存储空间大小--长度 列存储数据是否允许为空(不设置此属性时,默认为允许为空) ...)stuNo char(8) not null primary key,stuAge tinyint null,stuGender bit not null
)

primary key:主键,声明对应的字段值不允许为空,且不能出现重复值—————能够让系统在一个表中直接找到唯一的数据行
提醒:创建表后,会在该文件夹下产生与该表同名的ibd文件(数据库对应数据文件)

  1. 数据操作语句,DML:针对表中数据执行添加(insert)、修改(update)、删除(delete)的操作

    #添加数据到指定表中(向表中添加数据)–insert

    #添加语法:insert into 表名(字段列表) values(值列表);

在MySQL中,如果insert语句没有为列指定数据值,MySQL将插入默认值;
如果创建表时,并没有为该字段定义默认值属性,那么MySQL会根据该列的数据类型设置初始值;如果是数值类型,初始值为0;如果是字符类型,初始值为’’(空字符串,区分之前看到的NULL);

#为Students表学号字段添加数据(MySQL为自动为表中的性别字段添加初始值)

insert into Students(stuNo) values('20190102');

#为Students表所有字段添加数据

insert into Students values('20190103',18,1);

3、数据查询语言,DQL:针对表中数据进行检索(select)操作。
#查询Students表中所有数据信息
select * from Students

二、数据类型

在MySQL中,数据类型分为三种:

  1. 数字类型
    整型:tinyint、bit、smallint、mediumint、int、bigint
    小数:float、double、decimal
  2. 字符类型
    char、varchar、text、blob、enum、set
  3. 日期和时间类型
    date、time、datetime、timestamp、year
    注意:使用数据类型,最主要的是搞明白对应字段存储数据的可能性!
    补充:字段属性unsigned、zerofill的用法!!!

  • unsigned 为非负数,用此类型可以增加存储数值范围!
    在这里插入图片描述
  • zerofill属性,在数字长度不够的数据前面填充0,以达到设定的长度。 在这里插入图片描述

三、存储引擎

1、存储引擎:告知MySQL如何存储数据,如何为存储的数据进行管理(索引构建、更新、查询等技术实现的方式)。
2、存储引擎的分类:

  • InnoDB:默认存储引擎(支持事务—读写效率差,额外占用一定空间)
  • MyISAM:曾经的默认存储引擎(不支持事务—处理速度快,占用空间小)
  • Memory:数据存储在系统内存中(响应速度快,但是存储信息量有限,且存储有效期有限)
    补充:注释方式

  1. SQL标准注释方式:
    • 单行注释:–注释内容(提醒:如果此方式应用到MySQL中,必须在第二个中横线后打一空格,再添加注释内容方有效)
    • 多行注释:/注释内容/(此方式可直接在MySQL中使用)
  2. MySQL注释方式:
    • #注释内容

推荐阅读
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍如何在SQL Server中对Name列进行排序,使特定值(如Default Deliverable Submission Notification)显示在结果集的顶部。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
author-avatar
土土不怕苦_402
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有