修改密码
今天想要练习一下mysql结果发现有点问题。

需要修改密码,从网上抄了一个命令,版本不匹配。ai给了一个

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
改完密码终于可以查看所有数据库了。

修炼一个小法术试试水
在E盘创建一个test.sql脚本,里面写:SELECT now(); 这个语句是查询当前时间。
来运行一下:

mysql武林招式秘籍:
以我学习的经验,接下来就是操作语句,枯燥无味又多,但又是基础,我就整理一下,用到就来练练哈哈哈哈
第一招:数据库操作
| 操作 | SQL 语句 | 说明 |
|---|---|---|
| 查看所有数据库 | SHOW DATABASES; |
显示所有数据库 |
| 创建数据库 | CREATE DATABASE 数据库名; |
创建新数据库 |
| 使用数据库 | USE 数据库名; |
切换到指定数据库 |
| 删除数据库 | DROP DATABASE 数据库名; |
删除数据库(谨慎操作!) |
第二招:数据表操作
| 操作 | SQL 语句 | 说明 |
|---|---|---|
| 查看所有表 | SHOW TABLES; |
显示当前数据库的所有表 |
| 查看表结构 | DESCRIBE 表名;或 DESC 表名; |
查看表的字段信息 |
| 创建表 | CREATE TABLE 表名 (列定义); |
定义表结构和字段 |
| 删除表 | DROP TABLE 表名; |
删除表(谨慎操作!) |
给大家表演一下:
sql
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT,
gender CHAR(1)
);
第三招:增删改查
| 操作 | SQL 语句 | 说明 |
|---|---|---|
| 插入数据(Create) | INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); |
插入一条或多条数据 |
| 查询数据(Read) | SELECT 列1, 列2, ... FROM 表名 [WHERE 条件]; |
查询数据,*表示所有列 |
| 更新数据(Update) | UPDATE 表名 SET 列1=值1, 列2=值2, ... WHERE 条件; |
修改符合条件的数据 |
| 删除数据(Delete) | DELETE FROM 表名 WHERE 条件; |
删除符合条件的数据 |
sql
-- 插入数据
INSERT INTO students (name, age, gender) VALUES ('张三', 20, 'M');
-- 查询所有数据
SELECT * FROM students;
-- 查询特定条件
SELECT name, age FROM students WHERE age > 18;
-- 更新数据
UPDATE students SET age = 21 WHERE name = '张三';
-- 删除数据
DELETE FROM students WHERE name = '李四';
散修:
| 操作 | SQL 语句 | 说明 |
|---|---|---|
| 查看当前数据库 | SELECT DATABASE(); |
显示当前正在使用的数据库 |
| 查看 MySQL 版本 | SELECT VERSION(); |
查看 MySQL 服务器版本 |
| 查看当前用户 | SELECT USER(); |
显示当前登录的 MySQL 用户 |
| 设置字符集(防乱码) | SET NAMES utf8mb4; |
避免中文乱码 |
以上是基础招式,每一个sql人都必会!!!慢慢消化吧。我认为实战是能最快掌握的方法。来吧!打一架吧。
实战:
你需要为学校设计一个 学生信息表,并完成以下任务:
-
创建数据库和表(模拟学校数据库环境)。
-
插入模拟数据(添加至少 3名学生的信息)。
-
查询数据(按不同条件筛选学生)。
-
更新数据(修改学生信息)。
-
删除数据(移除无效记录)。
1.创建数据库和表
-
创建一个名为 **
school_db**的数据库。 -
在该数据库中创建一张 **
students**表,包含以下字段:-
id(学号,整数,主键,自动递增) -
name(姓名,字符串,非空) -
age(年龄,整数) -
gender(性别,单个字符'M'或'F') -
major(专业,字符串) -
enrollment_date(入学日期,日期格式YYYY-MM-DD)
-
-- 1. 创建数据库
CREATE DATABASE school_db;
-- 2. 使用该数据库
USE school_db;
-- 3. 创建学生表
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT,
gender CHAR(1),
major VARCHAR(50),
enrollment_data DATE
);
此处的enrollment_data应该是date,懒得改了,就是一个名字的事。
2.插入模拟数据
向 students表中插入 至少 3条学生记录。

3.查询数据
1.查询所有学生信息 (SELECT * FROM students;)

2.查询所有男生的姓名和年龄 (gender = '男')

3.查询年龄大于 20 岁的学生

4.查询 2022 年入学的学生 (enrollment_date LIKE '2022%')

4.更新数据
1.将「李四」的年龄改为 20 岁

2.将所有女生的入学日期更新为 '2023-09-01'。

5.删除数据
1.删除年龄小于 21 岁的学生 (谨慎操作!建议先查询再删除)

烦死了,打错一个字回车就不好改妈的!!!
