MySQL基础知识笔记:创建、选择及约束
需积分: 0 93 浏览量
更新于2024-07-09
收藏 6.24MB DOCX 举报
"MySQL笔记概述及基础操作"
MySQL是一种流行的开源关系型数据库管理系统,广泛应用于互联网应用,因为它提供了高效、可靠且易于管理的数据存储解决方案。在MySQL中,数据以表格的形式组织,每个表都有一个或多个列,每个列都有特定的数据类型,如整数、字符串或日期。此外,表之间可以通过主键和外键建立关联,实现数据的一致性和完整性。
在MySQL中,主要的数据库操作包括:
1. **创建数据库**:使用`CREATE DATABASE`语句,例如`CREATE DATABASE 数据库名;` 创建一个新的数据库。要查看数据库的存储位置,可以运行`SHOW VARIABLES LIKE 'datadir';`命令。
2. **选择数据库**:通过`USE`语句切换当前工作数据库,如`USE 数据库名;`。
3. **修改数据库**:MySQL允许修改数据库的属性,但这些操作通常涉及到数据库配置,不常用在日常操作中。
4. **查看数据库**:使用`SHOW DATABASES;`列出所有数据库。
5. **删除数据库**:用`DROP DATABASE`语句来删除数据库,例如`DROP DATABASE 数据库名;`。
6. **备份与还原**:备份数据库通常使用`mysqldump`工具,还原则通过`mysql`客户端导入备份文件。
在设计数据库时,确保数据完整性至关重要。以下是一些常见的约束条件:
- **主键(Primary Key)**:每个表可以有一个主键,由一个或多个列组成,其值必须唯一且不能为NULL,用于唯一标识每行记录。创建表时,可以使用`PRIMARY KEY`约束,例如`id INT PRIMARY KEY UNIQUE NOT NULL`。
- **外键(Foreign Key)**:外键是引用另一个表的主键,用于建立表之间的关联。创建外键约束时,如`CONSTRAINT c_fk FOREIGN KEY (id) REFERENCES zxc1(id)`,它确保了引用的完整性和一致性。
- **非空约束(NOT NULL)**:不允许字段值为空。在创建表时,可以添加`NOT NULL`,如`name VARCHAR(10) DEFAULT '男' NOT NULL`。
- **唯一性约束(UNIQUE)**:确保字段值的唯一性,但允许NULL。如`id INT UNIQUE NOT NULL`。
- **默认值约束(DEFAULT)**:为字段设置默认值,如`name VARCHAR(10) DEFAULT '男'`,当不提供值时自动使用默认值。
查询数据是数据库操作的核心部分。基本的查询语句`SELECT * FROM 表名 WHERE 查询条件;`可以获取满足条件的记录。`BETWEEN AND`运算符用于查找处于特定范围内的值,例如`WHERE age BETWEEN 20 AND 30;`返回年龄在20到30之间的记录。`NOT BETWEEN`用于排除这个范围的记录。
这只是MySQL基础知识的一部分,实际使用中还包括更新(UPDATE)、删除(DELETE)、连接(JOIN)、分组(GROUP BY)、排序(ORDER BY)、聚合函数(如COUNT、SUM、AVG)等复杂操作。理解并熟练掌握这些概念,对于在数据库管理、Web开发或数据分析等领域的工作至关重要。
2020-03-08 上传
2023-06-10 上传
2023-02-24 上传
2023-05-30 上传
2023-05-31 上传
2023-05-31 上传
2023-09-04 上传
2024-01-11 上传
朝日初升c.鹅鹅鹅
- 粉丝: 2
- 资源: 1
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析