MySQL基础语法大全与实战练习指南
mysql最全的基础语法及练习

首页 2025-06-26 11:58:46



MySQL最全基础语法及练习指南 MySQL作为世界上最流行的开源关系型数据库管理系统之一,广泛应用于各类网站、应用程序和企业级系统

    无论是初学者还是有一定经验的数据库管理员,掌握MySQL的基础语法及进行实际操作练习都至关重要

    本文将全面介绍MySQL的基础语法,并提供一系列练习题,帮助读者更好地理解和应用这些语法

     一、MySQL简介与理论基础 MySQL采用客户端/服务器架构,支持多用户环境,并基于SQL(结构化查询语言)标准

    关系型数据库的核心概念在于数据以表格(二维表)形式存储,表之间通过关系连接

    MySQL具有ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),这些特性确保了数据库事务的可靠性和完整性

     MySQL采用多层架构设计,包括连接层、服务层、存储引擎层和文件系统层

    其中,存储引擎是MySQL架构中的重要组成部分,不同的存储引擎具有不同的特性和用途

    InnoDB是MySQL的默认存储引擎,支持事务、外键和行级锁;MyISAM适合读密集型应用,支持全文索引;Memory将数据存储在内存中,速度极快但不持久;Archive则适合存储和检索大量很少被查询的历史数据

     二、MySQL数据类型 在MySQL中,数据类型是创建和操作数据库表的基础

    MySQL支持多种数据类型,包括数值类型、字符串类型、日期和时间类型以及其他类型

     1.数值类型: - INT:整数类型,4字节

     - TINYINT:小整数,1字节

     - BIGINT:大整数,8字节

     - FLOAT/DOUBLE:浮点数

     - DECIMAL:精确小数

     2.字符串类型: - CHAR(n):固定长度字符串

     - VARCHAR(n):可变长度字符串

     - TEXT:长文本

     3.日期和时间类型: - DATE:日期,格式YYYY-MM-DD

     - TIME:时间,格式HH:MM:SS

     - DATETIME:日期和时间,格式YYYY-MM-DD HH:MM:SS

     - TIMESTAMP:时间戳

     4.其他类型: - ENUM:枚举类型

     - SET:集合类型

     - BLOB:二进制大对象

     三、数据库和表的基本操作 数据库操作 -创建数据库: sql CREATE DATABASE【IF NOT EXISTS】 mydb【CHARACTER SET charset_name】【COLLATE collation_name】; -查看所有数据库: sql SHOW DATABASES; -使用数据库: sql USE mydb; -删除数据库: sql DROP DATABASE【IF EXISTS】 mydb; 表操作 -创建表: sql CREATE TABLE students( id INT AUTO_INCREMENT PRIMARY KEY, -- 主键,自动递增 name VARCHAR(50) NOT NULL, -- NOT NULL约束 age INT CHECK(age >0), -- CHECK约束 gender ENUM(男, 女), --枚举类型 class VARCHAR(20), score FLOAT DEFAULT0, --默认值 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 自动记录创建时间 INDEX idx_class(class) --索引 ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; -查看表结构: sql DESCRIBE students; -- 或 SHOW COLUMNS FROM students; -修改表结构: - 添加列: sql ALTER TABLE students ADD COLUMN email VARCHAR(100); - 修改列: sql ALTER TABLE students MODIFY COLUMN name VARCHAR(100); - 删除列: sql ALTER TABLE students DROP COLUMN email; -删除表: sql DROP TABLE【IF EXISTS】 students; 四、数据操作语言(DML) DML主要用于对数据库表中的数据进行增删改查操作

     -INSERT:插入数据: sql INSERT INTO table_name【(column1, column2, ...)】 VALUES(value1, value2,...); -SELECT:查询数据: sql SELECT column1, column2, ... FROM table_name WHERE condition; -UPDATE:更新数据: sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; -DELETE:删除数据: sql DELETE FROM table_name WHERE condition; 五、数据定义语言(DDL) DDL主要用于定义和管理数据库结构,包括创建、修改和删除数据库对象

     -CREATE:创建数据库和表(上文已介绍)

     -ALTER:修改表结构(上文已介绍)

     -DROP:删除数据库和表(上文已介绍)

     此外,DDL还包括对索引、视图、存储过程和触发器的定义和管理

     -创建索引: sql CREATE INDEX index_name ON table_name(column_name); -创建视图: sql CREATE VIEW view_name AS SELECT statement; -创建存储过程: sql CREATE PROCEDURE procedure_name(IN parameter_name datatype, OUT parameter_name datatype,...) BEGIN -- SQL语句 END; -调用存储过程: sql CALL procedure_name(value1, @value2,...); -删除视图和存储过程: sql DROP VIEW view_name; DROP PROCEDURE procedure_name; 六、数据控制语言(DCL) DCL主要用于定义数据库的访问权限和安全级别

     -GRANT:授权: sql GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO username@host; -REVOKE:撤销权限: sql REVOKE SELECT, INSERT, UPDATE ON database_name.table_name FROM username@host; 七、MySQL练习题 以下是一些基于上述基础语法的MySQL练习题,旨在帮助读者巩固所学知识

     1.创建数据库和表: -创建一个名为`school_system`的数据库

     - 在`school_system`数据库中创建一个

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道