零基础学习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",然后在弹出的界面中填写表名、字段名、数据类型等信息,点击确定即可完成表的创建,非常便捷。

相关推荐
NCIN EXPE4 小时前
redis 使用
数据库·redis·缓存
MongoDB 数据平台4 小时前
为编码代理引入 MongoDB 代理技能和插件
数据库·mongodb
极客on之路4 小时前
mysql explain type 各个字段解释
数据库·mysql
代码雕刻家4 小时前
MySQL与SQL Server的基本指令
数据库·mysql·sqlserver
lThE ANDE4 小时前
开启mysql的binlog日志
数据库·mysql
yejqvow125 小时前
CSS如何控制placeholder文字的颜色_使用--placeholder伪元素
jvm·数据库·python
oLLI PILO5 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库
m0_743623925 小时前
HTML怎么创建多语言切换器_HTML语言选择下拉结构【指南】
jvm·数据库·python
pele5 小时前
Angular 表单中基于下拉选择动态启用字段必填校验的完整实现
jvm·数据库·python