Bootstrap

MySQL数据库(二)

 

一 DDL

(一 数据库操作

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

1 所有数据库:

show databases;

2 查询当前数据库:

select database();

2 创建-数据库

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

create database if not exists ax1;

create database ax2;

3 删除-数据库

drop database ax1;

4 使用-数据库

use ax1;
select database();

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

(二 表操作

1 创建-表结构

2 查询-所有表结构名称

show tables;

图形化展示

3 查询-表结构内容

desc myfirst_tb;

图形化展示:

4 查询-建表语句

show create table first_tb;

图形化展示:

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

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

alter table emp add nickname varchar(10) comment '昵称';

图形化展示:

6 修改-字段数据类型

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

alter table emp modify IDcard char(19);

图形化展示

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

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

alter table emp change IDcard idcard char(18) comment '身份证';

图形化展示:

8 删除-字段

alter table 表名 drop 字段名;

alter table emp drop ax2;

图形化展示:

9 修改-表名

alter table 表名 rename to 新表名;

alter table emp rename to newemp;

图形化展示:

10 删除-表

drop table if exists 表名;

drop table if exists 表名;

图形化展示:

11 删除-表中数据

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

truncate table 表名;

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...);

# 逐个添加
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 条件;

注意事项

  • 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
# 将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 进行范围判定。
# 删除id为0的数据项
delete from first_tb where id = 0;
# 删除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 表名;

# 返回first_tb表中字段name和id字段列表
select name,id from first_tb;

2 查询所有字段

select  * from 表名;

# 返回first_tb表中的所有字段列表
select * from first_tb;

3 设置别名并查询

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

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

4 去除重复项

select distinct 字段列表 from 表名;

# 删除id重复项
select distinct id from first_tb;

代码实现

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 条件列表;

代码实现:

(三 聚合查询

(四 分组查询

(五 排序查询

(六 分页查询

;