MySQL数据库(二)

一 DDL

(一 数据库操作

1 查询-数据库(所有/当前)

1 所有数据库:

sql 复制代码
show databases;

2 查询当前数据库:

sql 复制代码
select database();

2 创建-数据库

可以定义数据库的编码方式

sql 复制代码
create database if not exists ax1;
sql 复制代码
create database ax2;

3 删除-数据库

sql 复制代码
drop database ax1;

4 使用-数据库

sql 复制代码
use ax1;
sql 复制代码
select database();

切换当前数据库位置并验证是否为当前数据库:

(二 表操作

1 创建-表结构

2 查询-所有表结构名称

sql 复制代码
show tables;

图形化展示

3 查询-表结构内容

sql 复制代码
desc myfirst_tb;

图形化展示:

4 查询-建表语句

sql 复制代码
show create table first_tb;

图形化展示:

5 添加-字段名+数据类型

alter table 表名 add 字段名 类型 注释;

sql 复制代码
alter table emp add nickname varchar(10) comment '昵称';

图形化展示:

6 修改-字段数据类型

alter table 表名 modify 字段名 新数据类型;

sql 复制代码
alter table emp modify IDcard char(19);

图形化展示

7 修改-字段+字段数据类型

alter table 表名 change 旧字段名 新字段名 类型 comment 注释;

sql 复制代码
alter table emp change IDcard idcard char(18) comment '身份证';

图形化展示:

8 删除-字段

alter table 表名 drop 字段名;

sql 复制代码
alter table emp drop ax2;

图形化展示:

9 修改-表名

alter table 表名 rename to 新表名;

sql 复制代码
alter table emp rename to newemp;

图形化展示:

10 删除-表

drop table if exists 表名;

sql 复制代码
drop table if exists 表名;

图形化展示:

11 删除-表中数据

表结构保留TRUNCATE TABLE 只会删除表中的所有数据但不会删除表本身或其结构定义 。因此,使用 DESCSHOW COLUMNS FROM myfirst_tbl1; 时,您仍然可以看到表的字段定义。

truncate table 表名;

sql 复制代码
truncate table myfirst_tb1;

图形化展示:

(三 Datagrip图形化界面激活码使用

网址:

2025 最新Jetbrains激活服务器 全部产品均适用 | ahhhhfs - A姐分享

二 DML-表-增删改数据

1 概念:DML全称Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改。

  • 添加数据:(INSERT)
  • 修改数据:(UPDATE)
  • 删除数据:(DELETE)

(一 添加数据

1 给指定字段添加数据

insert into 表名 (字段名1,字段名2...)values (值1,值2...);

2 给全部字段添加数据(逐个)

insert into 表名 values (值1,值2);

3 批量添加数据

insert into 表名(字段名1,字段名2...)values (值1,值2...),(值1,值2)...;

insert into 表名 values(值1,值2...);

sql 复制代码
# 逐个添加
insert into first_tb (id, name, age, gender) values (2,'超哥',100,'男');

insert into first_tb values (3,'小明',100,'女');

# 批量添加
insert into first_tb (id, name, age, gender) values (4,'张三',100,'男'),(5,'李四',100,'男'),(6,'刘六',21,'男');

insert into first_tb values (7,'王五',32,'男'),(8,'he',12,'男'),(9,'ok',22,'女');

# 查看table 数据
select * from first_tb;

注意事项:

  • 插入数据时,指定的字段顺序需要与值的顺序一一对应。
  • 字符串和日期类型应该包含在引号中。
  • 插入的数据大小,应该在字段的规定范围内。

(二 修改数据

1 修改表中的数据

updata 表名 set 字段名1 = 值1 ,字段名2 = 值2 ,.......where 条件;

注意事项

  • 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
sql 复制代码
# 将first_tb表当中的id为1的数据项的name修改为it
update first_tb set name = 'it' where id = 1;

# 将first_tb表当中的name为it的数据项的id修改为0,name修改为it_er
update first_tb set id = 0,name='it_er' where name = 'it';

2 删除表中的数据

delete from 表名 where 条件;

注意事项

  • 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
  • 可以使用and or 进行范围判定。
sql 复制代码
# 删除id为0的数据项
delete from first_tb where id = 0;
sql 复制代码
# 删除id为3并且姓名为小明的数据项
delete from first_tb where id = 3 and name='小明';

# 删除id为3或姓名为小明的数据项
delete from first_tb where id = 3 or name='小明';

三 DQL-表-查数据

1 概念:DQL全称Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。

  • 查询数据:(SELECT)

查询数据

(一 基础查询

1 查询多个字段

select 字段1,字段2...from 表名;

sql 复制代码
# 返回first_tb表中字段name和id字段列表
select name,id from first_tb;

2 查询所有字段

select * from 表名;

sql 复制代码
# 返回first_tb表中的所有字段列表
select * from first_tb;

3 设置别名并查询

select 字段1 as 别名1 ,字段2 as 别名2 ...from 表名;

sql 复制代码
# 设置别名(as可省略)作用是将表中的字段显示给我们时更加容易区分
select id as ID , name as NAME from first_tb;

4 去除重复项

select distinct 字段列表 from 表名;

sql 复制代码
# 删除id重复项
select distinct id from first_tb;

代码实现

sql 复制代码
insert into user_pro (id, worker, gender, age, idcard, workaddress, entrydate, name)
values (1, '1000000101', '男', 18, '123456789123456781', '安徽合肥', '2000-01-01', '超哥'),
       (2, '1000000102', '男', 28, '123456789123456782', '安徽阜阳', '2000-11-01', '张三'),
       (3, '1000000103', '男', 38, '123456789123456783', '安徽六安', '2000-02-01', '李四'),
       (4, '1000000104', '女', 48, '123456789123456784', '安徽淮北', '2000-03-01', '王五'),
       (5, '1000000105', '女', 58, '123456789123456785', '安徽亳州', '2000-04-01', '刘六'),
       (6, '1000000106', '女', 68, '123456789123456786', '安徽马鞍山', '2000-05-01', '周七'),
       (7, '1000000107', '女', 78, '123456789123456787', '安徽黄山', '2000-01-11', '安八'),
       (8, '1000000108', '女', 88, '123456789123456788', '安徽滁州', '2000-01-31', '老八'),
       (9, '1000000109', '男', 98, '123456789123456789', '安徽安庆', '2000-01-21', '李白'),
       (10, '1000000110', '男', 18, '12345678912345678X', '安徽芜湖', '2000-01-21', '杜甫'),
       (11, '1000000111', '男', 28, '123456789123456711', '安徽宿州', '2000-01-11', '骆宾王'),
       (12, '1000000112', '女', 38, '123456789123456722', '安徽蚌埠', '2000-03-01', '齐白石'),
       (13, '1000000113', '女', 48, '123456789123456733', '安徽宣称', '2000-06-01', '薛之谦'),
       (14, '1000000114', '女', 58, '123456789123456744', '安徽池州', '2000-08-01', '小白'),
       (15, '1000000115', '男', 68, '123456789123456755', '安徽铜陵', '2000-05-01', '小黑'),
       (16, '1000000116', '男', 78, '123456789123456766', '安徽合肥', '2000-03-01', '小蓝'),
       (17, '1000000117', '男', 88, '123456789123456777', '安徽合肥', '2000-07-01', '小一'),
       (18, '1000000118', '男', 98, '123456789123456788', '安徽合肥', '2000-08-01', '小儿'),
       (19, '1000000119', '男', 18, '123456789123456799', '安徽合肥', '2000-09-01', '小三'),
       (20, '1000000120', '男', 28, '12345678912345679X', '安徽合肥', '2000-10-01', '小四'),
       (21, '1000000121', '男', 38, '12345678912345677X', '安徽合肥', '2000-01-01', '小五');
update user_pro set workaddress='安徽淮南' where id=16;

# 1 查询name age worker字段列表
select name,age,worker from user_pro;
# 2 查询所有字段
select name,id,worker,workaddress,gender,idcard,entrydate,age from user_pro;
select * from user_pro;
# 3 查询所有员工的工作地址(将列表名显示为工作地址 as 可省略)
select workaddress as '工作地址' from user_pro;
# 4 查询员工的工作地址(去重)
select distinct workaddress from user_pro;

(二 条件查询

1 条件符号

2 根据条件查询数据

select 字段列表 from 表名 where 条件列表;

代码实现:

(三 聚合查询

(四 分组查询

(五 排序查询

(六 分页查询

相关推荐
科技小花4 分钟前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸6 分钟前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain7 分钟前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希44 分钟前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神1 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员1 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java1 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿1 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴1 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存
YOU OU1 小时前
三大范式和E-R图
数据库