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`数据库中创建一个

nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密