对于程序员来说,MySQL是最常用的关系型数据库,无论是网站开发、后台管理系统,还是日常数据存储,都离不开MySQL的使用。很多新手觉得数据库很难,其实入门MySQL只需掌握“建库、建表、增删改查”这几个核心操作,就能应对基础的使用场景。
今天分享MySQL基础操作全流程,从建库建表到基础查询,每一步都有详细的SQL语句示例,标注清楚含义,新手零基础也能轻松跟着操作,复制语句就能运行,快速入门MySQL~
一、前提准备(新手必看)
-
安装MySQL:官网下载对应系统的MySQL(www.mysql.com/),安装过程默认下一步…
-
登录MySQL:打开终端/Git Bash,输入登录命令,输入密码后登录(密码输入时不显示,直接输入即可):
mysql -u root -p
- 注意事项:SQL语句不区分大小写(比如CREATE和create都可以),但建议关键字大写(如CREATE、SELECT),便于区分和阅读;每条SQL语句结尾必须加英文分号(;),否则不会执行。
二、核心基础操作(全流程)
1. 创建数据库(CREATE DATABASE)
数据库是存储表的容器,先创建数据库,才能创建表、存储数据。
语法:CREATE DATABASE 数据库名;
示例(创建一个名为student_db的数据库):
-- 注释:创建数据库student_db(-- 后面是注释,不执行)
CREATE DATABASE student_db;
💡 补充操作:
-
查看所有数据库:SHOW DATABASES;
-
切换数据库(使用某个数据库):USE 数据库名; (比如USE student_db; 切换到student_db数据库,后续操作都在这个数据库中进行)
-
删除数据库(谨慎使用!):DROP DATABASE 数据库名;
2. 创建数据表(CREATE TABLE)
表是数据库的核心,用于存储具体的数据,每个表包含多个字段(列),比如学生表包含学号、姓名、年龄等字段。
语法:CREATE TABLE 表名 (字段1 类型 约束, 字段2 类型 约束, ...);
新手常用字段类型(必记):
-
INT:整数类型(比如年龄、学号);
-
VARCHAR(长度):字符串类型(比如姓名、性别,长度表示最多能存储的字符数);
-
DATE:日期类型(比如出生日期,格式为YYYY-MM-DD);
-
DECIMAL(总长度, 小数位数):小数类型(比如成绩,如DECIMAL(5,2)表示最大5位数字,2位小数)。
新手常用约束(必记):
-
PRIMARY KEY:主键(唯一标识表中的每一行数据,不能重复、不能为NULL,比如学号);
-
NOT NULL:非空约束(该字段不能为NULL,比如姓名不能为空);
-
UNIQUE:唯一约束(该字段的值不能重复,比如身份证号)。
示例(在student_db数据库中,创建一个名为student的学生表):
-- 先切换到student_db数据库
USE student_db;
-- 创建student表,包含学号、姓名、年龄、性别、出生日期、成绩字段
CREATE TABLE student (
student_id INT PRIMARY KEY, -- 学号,主键(唯一、非空)
student_name VARCHAR(20) NOT NULL, -- 姓名,非空
age INT, -- 年龄,可空
gender VARCHAR(10), -- 性别,可空(比如男、女、未知)
birth_date DATE, -- 出生日期
score DECIMAL(5,2) -- 成绩,最多5位数字,2位小数
);
💡 补充操作:
-
查看当前数据库中的所有表:SHOW TABLES;
-
查看表结构(字段、类型、约束):DESC 表名; (比如DESC student;)
-
删除表(谨慎使用!):DROP TABLE 表名;
3. 插入数据(INSERT INTO)
表创建完成后,向表中插入具体的数据(一行或多行)。
语法1(插入一行数据):INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
语法2(插入多行数据):INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...);
示例(向student表中插入数据):
-- 插入一行数据(学号1001,姓名张三,年龄20,性别男,出生日期2004-01-01,成绩95.5)
INSERT INTO student (student_id, student_name, age, gender, birth_date, score) VALUES (1001, '张三', 20, '男', '2004-01-01', 95.5);
-- 插入多行数据(批量插入,更高效)
INSERT INTO student (student_id, student_name, age, gender, birth_date, score) VALUES
(1002, '李四', 19, '女', '2005-02-10', 88.0),
(1003, '王五', 21, '男', '2003-05-15', 92.3),
(1004, '赵六', 19, '女', '2005-08-20', 79.5);
💡 注意:
-
插入的值必须和字段的类型、顺序一致(比如student_id是INT类型,不能插入字符串);
-
字符串、日期类型的值,必须用英文单引号包裹;
-
主键字段的值不能重复,否则会报错。
4. 基础查询数据(SELECT)
查询是MySQL最常用的操作,用于从表中获取需要的数据,新手重点掌握以下3种基础查询。
(1)查询表中所有数据(* 表示所有字段)
语法:SELECT * FROM 表名;
示例(查询student表中所有学生的数据):
SELECT * FROM student;
(2)查询指定字段的数据(只查需要的字段,更高效)
语法:SELECT 字段1, 字段2, ... FROM 表名;
示例(查询学生的学号、姓名、成绩):
SELECT student_id, student_name, score FROM student;
(3)带条件查询(WHERE子句,筛选符合条件的数据)
语法:SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件;
新手常用条件运算符:
-
= :等于(比如age = 20,查询年龄为20的学生);
-
:大于(比如score > 90,查询成绩大于90的学生);
-
< :小于;
-
!= :不等于;
-
AND :并且(比如age > 19 AND score > 80,查询年龄大于19且成绩大于80的学生);
-
OR :或者。
示例(带条件查询):
-- 查询年龄为20的学生(所有字段)
SELECT * FROM student WHERE age = 20;
-- 查询成绩大于90且性别为男的学生(只查学号、姓名、成绩)
SELECT student_id, student_name, score FROM student WHERE score > 90 AND gender = '男';
-- 查询年龄不等于20的学生
SELECT * FROM student WHERE age != 20;
三、新手避坑提醒
-
SQL语句结尾必须加英文分号,否则不会执行;
-
字符串、日期类型的值,必须用英文单引号包裹,不能用中文引号;
-
主键字段的值不能重复、不能为NULL,否则插入数据会报错;
-
删除数据库、删除表的操作要谨慎,执行后数据无法恢复;
-
切换数据库后,才能对该数据库中的表进行操作,否则会提示“表不存在”。
MySQL的基础操作核心就是“建库、建表、增删改查”,今天分享的内容覆盖了新手最常用的操作,多复制语句运行几次,熟悉语法和逻辑,就能快速入门。后续可以学习更复杂的查询(排序、分组、联表)、更新和删除数据等操作。