一、基础环境与连接
数据库基础安全与连接
连接命令:
mysql -u root -p,回车后输入密码登录查看所有数据库:
show databases;Navicat 图形化管理工具连接:
主机地址:
127.0.0.1端口:
3306(MySQL 默认端口)
二、数据库与表创建
1. 新建数据库
CREATE DATABASE school CHARSET utf8 COLLATE utf8_general_ci; -- 忽略大小写排序规则
字符集:推荐
utf8(或utf8mb4,支持 emoji)排序规则:
utf8_general_ci不区分大小写,适合常规业务
2. 创建数据表
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT, address VARCHAR(100) );
三、SQL 核心操作(增删改查)
1. 数据插入(INSERT)
-- 基础语法 INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); -- 示例 INSERT INTO users (name, age, address) VALUES ('张三', 18, '湖南');2. 数据更新(UPDATE)
-- 基础语法(必须带WHERE条件,否则会更新全表!) UPDATE 表名 SET 字段=值 WHERE 字段=条件值; -- 示例 UPDATE users SET age = 19 WHERE name = '张三';
3. 数据删除(DELETE)
-- 基础语法(必须带WHERE条件,否则会删除全表!) DELETE FROM 表名 WHERE 字段=条件值; -- 示例 DELETE FROM users WHERE id = 1;
4. 数据查询(SELECT)
基础查询
-- 查询表中所有数据 SELECT * FROM users; -- 查询指定字段 SELECT id, name FROM users; -- 带条件查询 SELECT * FROM school.users WHERE address = '湖南';
常用条件与函数
模糊查询(LIKE):%匹配任意字符,_匹配单个字符
-- 查询名字以“张”开头的用户 SELECT * FROM users WHERE name LIKE '张%';
内置函数:
SELECT version(); -- 查看MySQL版本 SELECT database(); -- 查看当前使用的数据库
四、进阶查询语法
1. 排序(ORDER BY)
-- 升序(默认asc,可省略) SELECT * FROM users ORDER BY age ASC; -- 降序(desc) SELECT * FROM users ORDER BY age DESC;
2. 联合查询(UNION)
要求:多张表的
SELECT语句字段数量必须相同
-- 示例:合并users表和自定义数据 SELECT * FROM users UNION SELECT 1, 2, 3, (database()), 5, 6;
五、SQL 规范注意事项
表名、字段名、数据库名禁止用单引号定义,单引号仅用于字符串值。
关键字建议大写(如
SELECTWHERE),增强可读性。执行
UPDATE/DELETE前,建议先用SELECT验证条件,避免误操作全表。