喵星之旅-成长的雏鹰-MySQL数据库应用技术-1-初识MySQL

什么是数据库

数据库(Database,简称DB),长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”,用于保存、管理数据。

数据库总览

关系型数据库(SQL)
MySQL、Oracle、SQL Server、SQLite、DB2

非关系型数据库(NOSQL)
Redis、MongoDB

什么是DBMS

数据库管理系统(Database Management System)
数据管理软件,科学组织和存储数据、高效地获取和维护数据

MySQL简介

是现流行的开源、免费的关系型数据库。

特点:
免费、开源数据库
小巧、功能齐全
使用便捷
可运行于Windows或Linux操作系统
可适用于中小型甚至大型网站应用

MySQL的运行机制

Alt text

常见的MySQL数据库连接工具

  1. MySQL Workbench:官方推出的数据库管理工具,提供了图形化界面进行数据库设计、管理、查询和调试等操作。

  2. Navicat for MySQL:一个功能强大的MySQL数据库管理工具,可通过图形化界面进行数据库操作,支持多种连接方式。

  3. HeidiSQL:一个免费的开源MySQL数据库管理工具,提供了简单而强大的界面,支持多个数据库连接。

  4. DBeaver:一个通用的数据库管理工具,支持多种数据库,包括MySQL,提供了图形化界面和SQL编辑器。

  5. SQLyog:一个流行的MySQL数据库管理工具,提供了直观的界面进行数据库管理和查询操作。

除此之外,一些常见的开发工具也集成这些功能,比如idea、vscode等。

结构化查询语句SQL

结构化查询语句分类
Alt text

命令行操作数据库

创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名;

删除数据库
DORP DATABASE [IF EXISTS] 数据库名;

查看数据库
SHOW DATABASES;

使用数据库
USE 数据库名;

显示表结构
desc 表名

显示表创建语句
show create table 表名

创建数据表

属于DDL的一种
CREATE TABLE [ IF NOT EXISTS ] 表名 (
字段名1 列类型 [ 属性 ] [ 索引 ] [注释] ,
字段名2 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
字段名n 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;

反引号 (可选、区别于单引号),
反引号用于区别MySQL保留字与普通字符而引入的。

数据值和列类型

列类型:
规定数据库中该列存放的数据类型
分为:数值类型、字符串类型、日期和时间型数值类型、NULL值。

数值类型:
Alt text

字符串类型:
Alt text

日期和时间型数值类型:
Alt text

NULL值
理解为“没有值”或“未知值”
不要用NULL进行算术运算,结果仍为NULL

数据字段属性

UNSIGNED

无符号的
声明该数据列不允许负数

ZEROFILL

0填充的
不足位数的用0来填充,如 int(3),5则为 005

AUTO_INCREMENT

自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长

NULL 和 NOT NULL

默认为NULL,即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值

DEFAULT

默认的
用于设置默认值

表列类型注释

1
2
3
CREATE TABLE [ IF NOT EXISTS ] `test` (
`id` int (11) UNSIGNED COMMENT ‘编码号’
) COMMENT=‘测试表’;

设置数据表的类型

1
2
3
CREATE TABLE 表名(
#省略一些代码
) ENGINE = MyISAM

MySQL的数据表的类型:
MyISAM、InnoDB 、HEAP、BOB、CSV等。

常见的MyISAM与InnoDB类型:
Alt text

设置数据表字符集

可为数据库、数据表、数据列设定不同的字符集

创建时通过命令来设置,如无设定,则根据MySQL数据库配置文件my.ini中的参数设定

1
2
3
CREATE TABLE 表名(
#省略一些代码
)CHARSET = utf8;

数据表的存储位置

MySQL数据表以文件方式存放在磁盘中
包括表文件、数据文件以及数据库的选项文件
位置:MySQL安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表

InnoDB类型数据表只有一个*.frm文件,数据文件为上一级目录的 ibdata1 文件。

MyISAM类型数据表对应三个文件:
*.frm – 表结构定义文件
*.MYD – 数据文件
*.MYI – 索引文件

修改数据表

修改表名

1
ALTER TABLE 旧表名 RENAME AS 新表名

添加字段

1
ALTER TABLE 表名 ADD 字段名 列类型 [ 属性 ]

修改字段

1
ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ]

删除字段

1
ALTER TABLE 表名 DROP 字段名

删除数据表

1
DROP TABLE [ IF EXISTS ] 表名

IF EXISTS 为可选,判断是否存在该数据表,
如删除不存在的数据表会抛出错误.

文章目录
  1. 什么是数据库
  2. 数据库总览
  3. 什么是DBMS
  4. MySQL简介
  5. MySQL的运行机制
  6. 常见的MySQL数据库连接工具
  7. 结构化查询语句SQL
  8. 命令行操作数据库
  9. 创建数据表
    1. 数据值和列类型
    2. 数据字段属性
      1. UNSIGNED
      2. ZEROFILL
      3. AUTO_INCREMENT
      4. NULL 和 NOT NULL
      5. DEFAULT
    3. 表列类型注释
    4. 设置数据表的类型
    5. 设置数据表字符集
    6. 数据表的存储位置
  10. 修改数据表
  11. 删除数据表
|