mysql初修1

修改密码

今天想要练习一下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人都必会!!!慢慢消化吧。我认为实战是能最快掌握的方法。来吧!打一架吧。


实战:

你需要为学校设计一个 学生信息表,并完成以下任务:

  1. 创建数据库和表(模拟学校数据库环境)。

  2. 插入模拟数据(添加至少 3名学生的信息)。

  3. 查询数据(按不同条件筛选学生)。

  4. 更新数据(修改学生信息)。

  5. 删除数据(移除无效记录)。


1.创建数据库和表

  1. 创建一个名为 **school_db**的数据库。

  2. 在该数据库中创建一张 **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 岁的学生 (谨慎操作!建议先查询再删除)

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

相关推荐
少年攻城狮4 小时前
OceanBase系列---【oceanbase的oracle模式新增分区表】
数据库·oracle·oceanbase
BullSmall4 小时前
MySQL8.0全栈初始化脚本集
数据库·mysql
六月闻君4 小时前
MySQL8主从数据库复制故障
数据库·mysql
洲覆5 小时前
缓存异常:缓存穿透、缓存击穿、缓存雪崩
开发语言·数据库·mysql·缓存
xcLeigh5 小时前
KingbaseES数据库:本地连接全攻略!从环境检查到问题排查,新手也能轻松上手
数据库
rexling15 小时前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
Deamon Tree5 小时前
如何保证缓存与数据库更新时候的一致性
java·数据库·缓存
大G的笔记本5 小时前
MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
java·数据库·mysql
洲覆6 小时前
go-mysql-transfer 伪装从库实现 MySQL 到 Redis 数据同步(完整配置)
数据库·redis·mysql·golang