博客
关于我
MySql-2019-4-21-复习
阅读量:797 次
发布时间:2023-02-11

本文共 1700 字,大约阅读时间需要 5 分钟。

MySQL数据库基础入门

数据库基础

数据库是存储和管理数据的容器,主要包括表、视图、存储过程、函数、触发器、索引等数据库对象。数据库可以分为两大类:

系统数据库

系统数据库由数据库管理系统自带,通常不可修改,主要包括:

  • information_schema:存储数据库对象的信息,如用户表、列信息、权限、字符集、分区等。
  • performance_schema:记录数据库服务器性能参数信息。
  • mysql:存储数据库用户权限信息。
  • test:可供任何用户使用的测试数据库。

用户数据库

用户数据库是由用户自定义创建的数据库,通常一个项目使用一个用户数据库。数据库名可以使用CREATE DATABASE命令创建,删除使用DROP DATABASE命令。

数据库操作

查看和切换数据库

使用SHOW DATABASES命令查看所有数据库,USE database_name命令切换到指定数据库。

查看数据库表

SHOW TABLES命令可以列出指定数据库中的所有表。

创建和删除数据库

CREATE DATABASE database_name创建数据库,DROP DATABASE database_name删除数据库。

存储引擎

MySQL支持多种存储引擎,主要有MyISAMInnoDB两种。MyISAM适合需要高插入、查询速度但不需要事务支持的场景,而InnoDB支持事务和外键,适合需要数据一致性和复杂约束的应用。

数据类型

MySQL提供丰富的数据类型,主要包括:

  • 整数类型INTBIGINT
  • 浮点数和小数FLOATDOUBLEDECIMAL
  • 字符类型CHARVARCHARTEXT
  • 日期和时间DATETIMESTAMPTIMEYEAR
  • 二进制类型BINARYVARBINARYBLOB
  • 布尔类型BIT

DECIMAL类型推荐用于存储高精度的金额或货币数据。

表操作

表的创建

CREATE TABLE命令用于创建表,格式如下:

CREATE TABLE 表名(    列名1 列类型 [约束],    列名2 列类型 [约束],    ...);

在表名中使用关键字时需加反引号,建议使用t_作为表名前缀。

查看表结构

使用DESC命令查看表结构,SHOW CREATE TABLE命令查看表的创建语句。

删除表

使用DROP TABLE命令删除表。

表约束

表约束可以对单个列进行限制,常见约束包括:

  • 非空约束NOT NULL
  • 默认值约束DEFAULT
  • 唯一约束UNIQUE
  • 主键约束PRIMARY KEY
  • 主键自增AUTO_INCREMENT
  • 外键约束FOREIGN KEY

查询操作

简单查询

SELECT语句用于从表中检取数据,语法如下:

SELECT [列名列表] [DISTINCT] FROM 表名;

DISTINCT关键字用于去重。

过滤查询

使用WHERE子句对结果进行过滤,语法如下:

SELECT [列名列表] FROM 表名 WHERE 条件;

支持多种比较运算符和逻辑运算符。

范围查询

BETWEENIN用于限制查询范围,IS NULL用于查找空值,LIKE用于文本匹配。

排序查询

ORDER BY子句用于对结果进行排序,语法如下:

SELECT [列名列表] FROM 表名 ORDER BY 列名 [ASC/DESC];

分页查询

MySQL支持逻辑分页和物理分页,推荐使用物理分页:

SELECT * FROM 表名 LIMIT 开始位置, 每页大小;

多表查询

内连接查询

内连接用于将两个或多个表的数据结合,常用JOIN关键字:

SELECT * FROM 表名A JOIN 表名B ON 表名A.列 = 表名B.列;

隐式内连接和显式内连接效果相同。

外连接查询

外连接用于关联不相关的表,结果可能包含NULL值。

外键约束

外键约束用于维护数据库的数据一致性,主要包括:

  • 外键列名称
  • 外引用的主键表和主键列
  • 外键的更新和删除行为选择

在使用外键时,需确保目标表的引擎支持外键(如InnoDB)。

转载地址:http://ycbfk.baihongyu.com/

你可能感兴趣的文章
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>