零基础学习SQL(一)-----关系型数据库DDL和图形化界面工具Datagrip

关系型数据库中的 DDL:SQL 语言实例解析

在数据管理的领域中,关系型数据库凭借其独特的优势占据着重要地位,而数据定义语言(DDL)则是构建和维护关系型数据库结构的关键工具。本文将围绕关系型数据库的特点、MySQL 的数据模型,结合具体的 SQL 语言实例,详细解析 DDL 在数据库和表操作中的应用,同时介绍图形化界面工具 Datagrip。

关系型数据库的特点

关系型数据库最显著的特点是使用二维表来存储数据。这种二维表就像我们日常生活中使用的表格一样,由行和列组成,每一行代表一条具体的数据记录,每一列则代表数据的一个属性。这种存储方式使得数据格式统一,每条记录都遵循相同的结构,极大地方便了数据的维护和管理。无论是添加新的数据、修改已有数据还是删除无效数据,都能在统一的格式下有序进行。

同时,关系型数据库使用 SQL 语言进行操作,SQL 语言具有标准统一的特点。这意味着无论使用的是 MySQL、Oracle 还是 SQL Server 等不同的关系型数据库管理系统,很多基本的操作语法都是相通的,用户无需为每种数据库单独学习一套全新的操作语言,大大降低了学习和使用的门槛,使用起来十分方便。

MySQL 的数据模型

MySQL 的数据模型呈现出一种层级结构,从上到下依次为:数据库管理系统(DBMS)----> 数据库 ----> 二维表。DBMS 是管理数据库的软件系统,它负责数据库的创建、查询、更新等操作。在 DBMS 之下是一个个具体的数据库,每个数据库都是一个容器,用于存放相关的二维表。而二维表则是实际存储数据的地方,是数据的最终载体。

数据定义语言(DDL)

数据定义语言(DDL)主要用于对数据库和表的结构进行定义和管理,包括创建、删除、修改等操作。

数据库操作

  • 查询所有数据库:使用show databases;命令可以列出当前 DBMS 中所有的数据库。通过这个命令,我们可以快速了解系统中存在哪些数据库。
  • 查询当前数据库:SELECT DATABASE();命令能够显示当前正在使用的数据库。当我们在多个数据库之间切换操作时,这个命令可以帮助我们明确当前的操作对象。
  • 创建数据库:创建数据库的基本语法是CREATE DATABASE 库名 [CHARACTER SET 字符集] [COLLATE 排序规则];。其中,库名是要创建的数据库的名称,CHARACTER SET用于指定数据库的字符集,COLLATE用于指定排序规则。例如,CREATE DATABASE student_db CHARACTER SET utf8 COLLATE utf8_general_ci;就创建了一个名为student_db、字符集为utf8、排序规则为utf8_general_ci的数据库。
  • 删除数据库:DROP DATABASE 库名;命令用于删除指定的数据库。需要注意的是,这个操作非常危险,一旦执行,数据库中的所有数据都将被删除,且无法恢复,因此在使用时一定要谨慎。
  • 使用数据库:USE 库名;命令用于切换到指定的数据库,之后的操作都将在该数据库中进行。例如,USE student_db;就表示切换到student_db数据库。

表结构操作

  • 查询当前数据库所有表:SHOW TABLES;命令可以列出当前数据库中所有的二维表,让我们了解当前数据库中包含哪些数据表。
  • 查询表结构:DESC 表名;命令用于查看指定表的结构,包括表中的字段名称、数据类型、是否为主键、是否允许为空等信息。例如,DESC student;可以查看student表的结构。
  • 创建表:创建表的基本语法是CREATE TABLE 表名 (字段1 字段1类型 [约束条件], 字段2 字段2类型 [约束条件], ...);。其中,表名是要创建的表的名称,每个字段由字段名、数据类型和可选的约束条件组成。例如,创建一个学生表student,包含学号(id)、姓名(name)、年龄(age)字段,可使用以下命令:
sql 复制代码
CREATE TABLE student (
    id INT,
    name VARCHAR(50),
    age INT
);
  • 查询更详细的表信息:SHOW CREATE TABLE 表名;命令可以显示创建表时的详细 SQL 语句,包括表的存储引擎、字符集、索引等信息,比DESC命令提供的信息更全面。例如,SHOW CREATE TABLE student;可以查看创建student表的详细信息。
  • 表的修改和删除
    • 修改表名:ALTER TABLE 旧表名 RENAME TO 新表名;,例如ALTER TABLE student RENAME TO stu;将student表改名为stu。
    • 添加字段:ALTER TABLE 表名 ADD 字段名 字段类型 [约束条件];,例如ALTER TABLE stu ADD gender VARCHAR(2);为stu表添加gender字段。
    • 修改字段类型:ALTER TABLE 表名 MODIFY 字段名 新字段类型;,例如ALTER TABLE stu MODIFY age VARCHAR(3);将stu表中age字段的类型改为VARCHAR(3)。
    • 删除字段:ALTER TABLE 表名 DROP 字段名;,例如ALTER TABLE stu DROP gender;删除stu表中的gender字段。
    • 删除表:DROP TABLE 表名;命令用于删除指定的表,删除后表中的所有数据也将被清除,使用时需谨慎。

数值类型

在创建表时,需要为每个字段指定合适的数据类型,其中数值类型是常用的类型之一。MySQL 中的数值类型包括整数类型(如INT、TINYINT、BIGINT等)和小数类型(如FLOAT、DOUBLE、DECIMAL等)。

  • INT是最常用的整数类型,占用 4 个字节,可表示的范围较大。
  • TINYINT占用 1 个字节,适合表示较小的整数,如性别(1 表示男,0 表示女)。
  • FLOAT和DOUBLE用于表示单精度和双精度浮点数,DECIMAL则用于表示高精度的小数,适合在财务等对精度要求较高的场景中使用。

图形化界面工具 Datagrip

虽然使用 SQL 命令可以完成所有的数据库操作,但对于一些复杂的操作或新手用户来说,图形化界面工具会更加友好和高效。Datagrip 就是一款功能强大的数据库图形化管理工具,它支持多种数据库,包括 MySQL。

通过 Datagrip,用户可以通过可视化的界面创建数据库、创建表、修改表结构、查询数据等,无需记忆复杂的 SQL 命令,只需通过点击、拖拽等操作即可完成。同时,它还提供了语法高亮、代码提示、错误检查等功能,大大提高了开发效率。例如,在 Datagrip 中创建表时,只需在相应的数据库上右键选择 "New Table",然后在弹出的界面中填写表名、字段名、数据类型等信息,点击确定即可完成表的创建,非常便捷。

相关推荐
小醉你真好17 分钟前
Spring Boot + ShardingSphere 分库分表实战
java·spring boot·后端·mysql
cookqq36 分钟前
mongodb源代码分析创建db流程分析
数据库·sql·mongodb·nosql
yh云想42 分钟前
存储函数与触发器:数据库自动化与业务逻辑封装的核心技术
数据库·sql
ZZH1120KQ44 分钟前
ORACLE复杂查询
数据库·oracle
山茶花开时。1 小时前
[Oracle] TO_DATE()函数
数据库·oracle
the beard1 小时前
MySQL进阶:(第八篇)深入解析InnoDB存储架构
数据库·mysql
Monika Zhang1 小时前
Redis缓存详解及常见问题解决方案
数据库·redis·缓存
2501_927030781 小时前
SQL基础语法
数据库·sql·oracle
Mike117.1 小时前
Oracle MCP Server简单配置以及备份调用
数据库·oracle·mcp
我来整一篇2 小时前
[mysql] 深分页优化
java·数据库·mysql