MySQL基础语法入门-基础操作

204 阅读6分钟

上个文章我们写了如何安装MySQL数据库以及辅助工具Navicat安装,现在我们来学习MySQL结合Navicat简单使用, 注意SQL语法不区分大小写书写!!!

MySQL简介之基础操作

MySQL 是一种流行的关系型数据库管理系统(RDBMS),广泛应用于各种应用程序中。 DDL(Data Definition Language,数据定义语言)是 SQL 的一部分,用于定义和管理数据库结构。DDL 主要包括创建、修改和删除数据库对象的语句,例如数据库、表、索引等。

image.png

连接到 MySQL

安装完成后,你可以通过命令行或图形化工具连接到 MySQL。

使用命令行连接:

mysql -u root -p

创建数据库:

CREATE DATABASE test;

如果连续操作两次或者以上报错

image.png

-- 安全创建数据库 (推荐该方式 防止误操作) 
CREATE DATABASE IF NOT EXISTS test;

查询数据库

SHOW DATABASES;

image.png

或者使用命令行操作(对新手比较不友好支持大佬使用)

image.png

使用数据库:

USE test;

image.png

删除数据库

-- 删除数据库 一般不推荐这样写 再次执行时候就报错了
DROP DATABASE 数据库名; 

image.png

image.png

-- 删除数据库 最好先判断一下
DROP DATABASE IF EXISTS test;

DDL表结构

DDL(数据定义语言)中,表结构是数据库设计的核心部分。表结构定义了表中包含的列(字段)、数据类型、约束条件等信息。

1. 表结构的基本组成部分

表结构由以下部分组成:

  • 表名:表的唯一标识符。
  • 列名:表中每一列的名称。
  • 数据类型:定义列中存储的数据类型(如整数、字符串、日期等)。
  • 约束:定义列的规则(如主键、唯一性、非空等)。

2. 创建表的基本语法

-- 基础语法格式
CREATE TABLE table_name (
    column1 datatype [constraints],
    column2 datatype [constraints],
    ...
);

如下这样即表示创建成功

image.png

3. 修改表名称

-- 修改表名称
ALTER TABLE product RENAME TO product_desc;

4. 删除表名称

-- 删除表名称
DROP TABLE product_desc;
-- 安全 删除表名称
DROP TABLE IF EXISTS product_desc;

5. 表格插入数据 (INSERT INTO)

INSERT INTO 表名 (列名1, 列名2, ...)
VALUES (值1, 值2, ...);
-- 向person_info表中插入一条数据 时间格式DATE
INSERT INTO person_info(
  id,
  name,
  age,
  addr,
  create_time
)VALUES(2,'lala',22,'赣州市安远县',20250111)
-- 时间字符串也行有时分秒的加上即可 '2025-01-11'

6. 表格查询数据(SELECT)

-- 基础语法
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件;
-- 查询表数据
SELECT name,age,addr FROM person_info WHERE id=1;

image.png

7. 更新/修改表格数据(SELECT)

UPDATE 表名
SET 列名1 =1, 列名2 =2, ...
WHERE 条件;
-- 更新表格数据
UPDATE person_info SET age = 41 WHERE id = 1;

添加列

ALTER TABLE 表名
ADD 列名 数据类型;
--添加列
ALTER TABLE person_info
ADD Email VARCHAR(100);

删除列

ALTER TABLE 表名
DROP COLUMN 列名;
ALTER TABLE person_info
DROP COLUMN Email;

修改列数据类型

ALTER TABLE 表名
MODIFY COLUMN 列名 新数据类型;
ALTER TABLE person_info
MODIFY COLUMN Age TINYINT;

image.png

image.png

8. 删除表格数据(DELETE)

DELETE FROM 表名
WHERE 条件;
--删除表格数据
DELETE FROM person_info WHERE id = 2;

SQL 数据类型及其特点

类别数据类型描述大小/范围
数值类型INT整数类型4 字节,范围:-2,147,483,648 到 2,147,483,647
TINYINT较小的整数1 字节,范围:0 到 255(无符号)或 -128 到 127(有符号)
SMALLINT小整数类型2 字节,范围:0 到 65,535(无符号)或 -32,768 到 32,767(有符号)
BIGINT大整数类型8 字节,范围很大
FLOAT单精度浮点数4 字节
DOUBLE双精度浮点数8 字节
字符串类型CHAR(n)定长字符串n 字符 (1-255)
VARCHAR(n)可变长度字符串n 字符 (1-65,535)
TEXT长文本类型超过 65,535 字符
BLOB二进制大对象超过 65,535 字节
日期和时间类型DATE存储日期'YYYY-MM-DD'
TIME存储时间'HH:MM:SS'
DATETIME存储日期和时间'YYYY-MM-DD HH:MM:SS'
TIMESTAMP存储时间戳自 1970 年 1 月 1 日以来的秒数
YEAR存储年份2 位或 4 位
布尔类型BOOLEAN布尔类型0(假)和 1(真)
其他类型ENUM枚举类型从预定义的字符串值中选择
SET集合类型允许存储多个值,从预定义的字符串集合中选择

DDL和DML的区别

1. DDL(数据定义语言)

  • 功能:用于定义或修改数据库结构(如表、索引、视图等)。

  • 特点

    • 操作的是数据库的结构,而不是数据本身。
    • 通常由数据库管理员(DBA)使用。
    • 执行后会自动提交事务(隐式提交),无法回滚。
  • 常用语句

    • CREATE:创建数据库对象(如表、视图、索引等)。
    • ALTER:修改数据库对象的结构。
    • DROP:删除数据库对象。
    • TRUNCATE:清空表中的所有数据,但保留表结构。
    • RENAME:重命名数据库对象。

示例

CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT
);

ALTER TABLE Students ADD COLUMN Email VARCHAR(100);

DROP TABLE Students;

2. DML(数据操作语言)

  • 功能:用于操作数据库中的数据(如插入、更新、删除、查询等)。

  • 特点

    • 操作的是数据库中的数据,而不是结构。
    • 通常由开发人员或数据分析师使用。
    • 需要显式提交事务(如 COMMIT),否则可以回滚(如 ROLLBACK)。
  • 常用语句

    • SELECT:查询数据。
    • INSERT:插入数据。
    • UPDATE:更新数据。
    • DELETE:删除数据。

示例

INSERT INTO Students (StudentID, Name, Age)
VALUES (1, '张三', 20);

UPDATE Students SET Age = 21 WHERE StudentID = 1;

DELETE FROM Students WHERE StudentID = 1;

SELECT * FROM Students;

DDL 和 DML 的主要区别

特性DDL(数据定义语言)DML(数据操作语言)
 操作对象 数据库结构(如表、索引、视图等)数据库中的数据(如记录)
 主要语句  CREATEALTERDROPTRUNCATE  SELECTINSERTUPDATEDELETE 
 事务处理 自动提交(隐式提交),无法回滚需要显式提交(如 COMMIT),可以回滚
 使用场景 数据库设计、结构管理数据操作、查询、更新
 使用者 数据库管理员(DBA)开发人员、数据分析师

总结

  • DDL 用于定义和管理数据库结构,操作的是数据库的“骨架”。
  • DML 用于操作和管理数据库中的数据,操作的是数据库的“血肉”。