MySQL之概述、安装和使用(一)

news2024/9/22 1:55:36

一、概述

关系数据库概述:

https://blog.csdn.net/qq_21370419/article/details/128568920

二、数据库的安装

参考我的两篇博客:

win10 安装mysql 5.6.36版本_windows 安装mysql5.6_人……杰的博客-CSDN博客

wind 10 安装 mysql 8.0_人……杰的博客-CSDN博客 

三、简单的操作使用

1.对数据库的操作

-- 创建数据库
CREATE DATABASE test_db;
-- 查看数据库
SHOW DATABASES;

运行结果:

 

-- 使用数据库 USE 数据库名
USE canada;
-- 删除数据库
DROP DATABASE canada;

 2.对数据库中的表进行操作

-- 2.1 创建表
CREATE TABLE customer (
  id varchar(30),
  name varchar(30),
  age int,
  email varchar(20),
  birthday date
);
-- 2.2 查看当前数据库下所有表
SHOW TABLES;

运行结果:

-- 2.3 查看表的结构
DESC customer;

运行结果: 

SELECT 查询

-- 2.4 SELECT 查询
-- 2.4.1 SELECT:查询所有表中所有列
SELECT * FROM customer;
-- 2.4.2 SELECT:查询表中指定列
SELECT name,age FROM customer;
-- 2.4.3 SELECT:对查询中的数据进行过滤 使用WHERE
-- 2.4.3.1 查询id号为10002的用户记录
SELECT * FROM customer WHERE id = "10002";
-- 2.4.3.2 查询年龄在20到50之间的用户姓名
SELECT name,age FROM customer WHERE age >= 20 AND age <= 50;
-- 或者
SELECT name,age FROM customer WHERE age BETWEEN 20 AND 50;
-- 2.4.3.3 使用in查询id为10002、10003、10004的用户
SELECT * FROM customer WHERE id IN ('10002','10003','10004');
-- 2.4.3.4 使用like查询:姓名中带"孙"的字符   %匹配任意字符
SELECT * FROM customer WHERE name LIKE '%孙%';
-- 2.4.3.5 使用like查询:姓名中第三个字符为'r'的用户 %匹配任意字符  _只匹配一个字符
SELECT * FROM customer WHERE name LIKE '__r%';
-- 2.4.3.6 查询姓名为空的用户
SELECT * FROM customer WHERE name IS NULL;
-- 2.4.3.7 查询姓名不为空的用户
SELECT * FROM customer WHERE name IS NOT NULL;
-- 2.4.3.8 查询按年龄降序排序 ASC-升序(默认) DESC-降序
SELECT * FROM customer ORDER BY age DESC;

INSERT 插入

-- 2.5 INSERT 插入记录
-- 2.5.1 在表中增加一条记录 注意:插入varchar和date类型数据时,需要使用单引号引起来
INSERT INTO customer(id,name,age,email,birthday)
VALUES('10002','Jerry',22,'jerry@sohu.com','2023-01-08');
-- 或者
INSERT INTO customer
VALUES('10004','孙行者',100,'xzsun@qq.com','1997-11-21');
-- 2.5.2 在表中增加一条记录,name为空 注意:插入varchar和date类型数据时,需要使用单引号引起来
INSERT INTO customer(id,name,age,email,birthday)
VALUES('10002',NULL,22,'jerry@sohu.com','2023-01-08');
-- 或
INSERT INTO customer(id,age,email,birthday)
VALUES('10006',39,'xx@sohu.com','2021-10-12');
-- 或 注意和上面的区别,是非NULL
INSERT INTO customer(id,name,age,email,birthday)
VALUES('10010','',44,'hongxiao@sohu.com','1978-03-15');

 UPDATE 更新

-- 2.6 UPDATE 更新记录
-- 2.6.1 更新表中的记录
UPDATE customer SET age = "18",birthday = "1998-01-08" WHERE id = "10002";

DELETE 删除

-- 2.7 DELETE 删除记录
-- 2.7.1 在表中删除一条id = "10002"的指定记录 
DELETE FROM customer WHERE id = "10002";

 删除表

-- 2.8 删除表 DROP TABLE 表名
DROP TABLE customer;

四、练习题

练习题一

-- 1 创建一个名为test_db的数据库
create database test_db;
-- 2 查看刚才创建的test_db数据库
show databases;
-- 3 在test_db数据库中创建名为customer的表,属性包含:id(字符串类型),name(字符串类型),age(整型),email(字符串类型),birthday(date类型)。
use test_db;
CREATE TABLE `customer` (
  `id` varchar(30),
  `name` varchar(30),
  `age` int,
  `email` varchar(20),
  `birthday` date
);
-- 4 查看确认customer表是否创建成功,若创建成功查看下表结构是否符合要求
SHOW TABLES;
DESC customer;
-- 5 查看表中所有信息
SELECT * FROM customer;
-- 6 在表中插入一条数据,插入信息依次为id = 10002,name=Jerry,age=22,email=Jerry@qq.com,birthday=2023-01-08。
INSERT INTO customer(id,name,age,email,birthday)
VALUES('10002','Jerry',22,'jeryy@qq.com','2023-01-08');
-- 7 更新customer表中id=10002的记录:age = 18,birthday=2000-01-08。并查看更新结果
UPDATE customer SET age = '18',birthday = '2000-01-08' WHERE id='10002';
SELECT * FROM customer;
-- 8 在表中插入两条记录:第一条信息:id = 10005,name=孙悟空,age=100,email=wksun@qq.com,birthday=1997-08-08;第二条信息:id = 10008,name=唐僧,age=999,email=sengtang@qq.com,birthday=2007-12-11;并查看插入信息。
INSERT INTO customer(id,name,age,email,birthday)
VALUES('10005','孙悟空',100,'wksun@qq.com','1997-08-08');
INSERT INTO customer(id,name,age,email,birthday)
VALUES('10008','唐僧',9999,'sengtang@qq.com','2007-12-11');
SELECT * FROM customer;
-- 9 删除customer表中id=10002的记录
DELETE FROM customer WHERE id = '10002';
-- 10 删除customer表中名字为“唐僧”的记录
DELETE FROM customer WHERE name = '唐僧';
-- 11 删除表customer中年龄为100岁的记录
DELETE FROM customer WHERE age = 100;
-- 12 删除表customer,并确认是否删除
DROP TABLE customer;
SHOW TABLES;
-- 13 删除数据库test_db,并确认是否删除。
drop database test_db;
SHOW DATABASE;

练习题二

-- 1 创建一个名为test2_db的数据库
create database test2_db;
-- 2 查看刚才创建的test2_db数据库
show databases;
-- 3 在test2_db数据库中创建名为customer的表,属性包含:id(字符串类型),name(字符串类型),age(整型),email(字符串类型),birthday(date类型)。
use test2_db;
CREATE TABLE `customer` (
  `id` varchar(30),
  `name` varchar(30),
  `age` int,
  `email` varchar(20),
  `birthday` date
);
-- 4 查看确认customer表是否创建成功,若创建成功查看下表结构是否符合要求
SHOW TABLES;
DESC customer;
-- 5 查看表中所有信息
SELECT * FROM customer;
-- 6 在表中插入数据
-- 6.1 插入信息id=10002, name=Jerry, age=22, email=jerry@sohu.com,birthday=2023-01-08
INSERT INTO `canada_sql`.`customer` (`id`, `name`, `age`, `email`, `birthday`) VALUES ('10002', 'Jerry', '22', 'jerry@sohu.com', '2023-01-08');
-- 6.2 插入信息id=10004, name=孙行者, age=100, email=xzsun@qq.com, birthday=1997-11-21
INSERT INTO `canada_sql`.`customer` (`id`, `name`, `age`, `email`, `birthday`) VALUES ('10004', '孙行者', '100', 'xzsun@qq.com', '1997-11-21');
-- 6.3 插入信息id=10006, name=行者孙, age=39, email='', birthday='1979-12-31'
INSERT INTO `canada_sql`.`customer` (`id`, `name`, `age`, `email`, `birthday`) VALUES ('10006', '行者孙', '39', '', '1979-12-31');
-- 6.4 插入信息id=10010, name=行者孙孙, age=44, email=hongxiao@sohu.com, birthday=1978-03-15
INSERT INTO `canada_sql`.`customer` (`id`, `name`, `age`, `email`, `birthday`) VALUES ('10010', '行者孙孙', '44', 'hongxiao@sohu.com', '1978-03-15');
-- 6.5 插入信息id=10012, age=44, email=hongxiao@sohu.com, birthday=1972-03-15
INSERT INTO `canada_sql`.`customer` (`id`, `name`, `age`, `email`, `birthday`) VALUES ('10012', NULL, '44', 'hongxiao@sohu.com', '1972-03-15');
-- 6.6 插入信息id=1003,name="孙悟空"
INSERT INTO `canada_sql`.`customer` (`id`, `name`) VALUES ('1003', '孙悟空');
-- 6.6 插入信息age = 66,birthday=2022-12-21
INSERT INTO `canada_sql`.`customer` (age,birthday) VALUES (66,'2022-12-21');
-- 7 查询数据
-- 7.1 查询id为10002的用户记录
SELECT * FROM customer WHERE id = "10002";
-- 7.2 查询为姓名为孙悟空的用户记录
SELECT * FROM customer WHERE name = "孙悟空";
-- 7.3 查询姓"孙"的用户信息的姓名和年龄
SELECT name,age FROM customer WHERE LIKE "孙%";
-- 7.4 查询姓名中带"者"字的用户信息
SELECT * FROM customer WHERE name LIKE "%者%";
-- 7.5 查询姓名为三个字的用户姓名
SELECT name FROM customer WHERE name LIKE '___';
-- 7.6 查询姓名中第三个字为孙的用户信息
SELECT * FROM customer WHERE `name` LIKE "__孙%";
-- 7.7 查询姓名中第二个字为"者",第三个字为"孙"的用户姓名
SELECT name FROM customer WHERE name LIKE "_者孙%";
-- 7.8 查询使用qq邮箱的用户姓名和邮箱
SELECT name,email FROM customer WHERE email LIKE "%@qq%";
-- 7.9 查询id中至少有三个0的用户id
SELECT id FROM customer WHERE id LIKE "%0%0%0%";
-- 7.10 查询年龄为30到50之间的用户姓名和年龄
SELECT name,age FROM customer WHERE age >= 30 AND age <= 50;
-- 或
SELECT name,age FROM customer WHERE age BETWEEN 30 AND 50;
-- 7.11 查询70后的客户信息
SELECT * FROM customer WHERE birthday BETWEEN '1970-01-01' AND '1979-12-31';
-- 或
SELECT * FROM customer WHERE birthday >= '1970-01-01' AND birthday <='1979-12-31'
-- 7.12 查询姓名为"孙悟空","孙行者"和"行者孙"的客户信息
SELECT * FROM customer WHERE name IN ("孙悟空","孙行者","行者孙");
-- 7.13 查询生日为空的用户信息
SELECT * FROM customer WHERE birthday IS NULL;
-- 7.14 查询姓名为空的用户信息,并根据其年龄倒序排序
SELECT * FROM customer WHERE `name` IS NULL ORDER BY age desc;
-- 7.15 所有用户信息按年龄升序排序
SELECT * FROM customer ORDER BY age;
-- 7.16 查询邮箱号为空的用户信息
SELECT * FROM customer WHERE email IS NULL OR email = '';
-- 8 更改
-- 8.1 将孙悟空的年龄设置为110,生日设置为1999-12-21
UPDATE customer SET age = 110,birthday = '1999-12-21' WHERE `name` = '孙悟空';
UPDATE customer SET birthday = '' WHERE `name` = "孙悟空"
-- 9 删除
-- 9.1 删除姓名为空用户信息
DELETE FROM customer WHERE `name` IS NULL;
-- 9.2 删除年龄超过60岁的用户信息
DELETE FROM customer WHERE age >60;
-- 10 删除表customer
DROP TABLE customer;
SHOW TABLES;
-- 11 删除数据库test2_db
DROP DATABASE test2_db;
SHOW DATABASES;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/728898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二十三种设计模式第十五篇--模版方法模式

模板方法模式是一种行为型设计模式&#xff0c;它定义了一个算法的骨架&#xff0c;而将一些步骤延迟到子类中实现。通过使用这种模式&#xff0c;我们可以在不改变算法结构的情况下&#xff0c;重新定义算法中的某些特定步骤。 模版方法的思想 模板方法模式的核心思想是将一…

WebDAV之π-Disk派盘 + FE文件管理器

FE File Explorer是一款功能强大且易于使用的文件管理器&#xff0c;它可以让你轻松地管理内部和外部存储器上的文件和文件夹&#xff0c;支持云存储服务&#xff0c;如派盘、Dropbox等。结合FE File Explorer和派盘可以实现更加高效便捷的文件管理体验。 π-Disk派盘 – 知识…

#systemverilog#进程控制问题#(二)终止进程

二 线程的终止 2.1 命名块 + diable Block,也就是语句块,SystemVerilog提供了两种类型的语句块,分别是begin…end为代表的顺序语句块,还有以fork…join为代表的并发语句块。 这两种block都是工程项目中常用的block,但是,大家可能都不知道block也是可以命名的,就像我…

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控

目录 1.Prometheus环境搭建 1.1 下载和安装Prometheus 1.2 配置Prometheus 1.3 配置Prometheus抓取Spring Boot应用Metrics 1.4 启动Prometheus 2.Grafana环境搭建 2.1 下载和安装Grafana 2.2 配置Grafana数据源 2.3 创建Dashboard 3、NodeExporter&#xff08;服务器…

华为云Astro出品《低代码开发者101问》电子书上线

这四年来&#xff0c;在低代码平台的运营和客户支持过程中&#xff0c;我们有幸见证了华为云低代码的成长&#xff0c;也有幸认识了很多有思想、有热情、有行动力的低代码开发者朋友&#xff0c;我们自身对低代码领域的认识和理解也在不断整合、刷新。与开发者、客户、伙伴以及…

Vue3使用混入(混合)

minixs/entity.js&#xff1a;混入代码 //混入的实体类 import { reactive } from vue;const userEntityMixin {setup() {const Admin reactive({id: -1,account: "",userPassword: "",});const Teacher reactive({id: -1,account: "",userP…

Nginx启动、关闭及信息查看命令

1、查找Nginx的位置 ps -aux | grep nginx 2、启动Nginx nginx直接启动&#xff0c;这时候可能出现两种情况&#xff1a; 第一种&#xff0c;就是Nginx已经启动过了&#xff0c;会提示端口被占用&#xff0c;启动失败 我们尝试杀掉占用端口的进程&#xff0c;然后重启 sys…

基于springboot图书个性化推荐系统的设计与实现【附ppt和万字文档(Lun文)和搭建文档】

主要功能 前台登录&#xff1a; ①首页&#xff1a;图书名称查询、图书信息推荐、好书推荐、图书信息展示 ②图书信息&#xff1a;图书类别、图书名称、名称类别作者查询、图书详情、收藏、点赞、评论 ③好书推荐&#xff1a;图书展示、点击查看 ④留言反馈&#xff1a;用户可…

爆肝整理,Docker容器测试-常见问题+解决(汇总)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 问题1&#xff1a…

9 首页和图标定制

9.1 首页 springboot的首页是写在index.html中&#xff0c;而index.html可以放在静态资源存放的任何一个文件夹&#xff08;public、resources、static&#xff09;。然后&#xff0c;直接运行&#xff0c;访问localhost:8080即可。 9.2 图标定制 对于springboot2.7.13版本&am…

应用层:域名系统DNS

1.应用层&#xff1a;域名系统DNS&#xff08;Domain Name System&#xff09; 笔记来源&#xff1a; 湖科大教书匠&#xff1a;应用层概述 湖科大教书匠&#xff1a;域名系统DNS 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 DNS报文使用运输层的…

Rust 动态数组Vec基本概念及其用法

目录 一、基本概念 Vec是什么&#xff1f; Vec的特点 (1)动态大小&#xff1a; (2)可变性&#xff1a; (3)泛型&#xff1a; 二、基础用法 1. 创建 (1) Vec::new()方法 (2) Vec::from()方法 (3) vec! 宏 2. 基础用法 三、Vec的简单实现及其宏模拟 四、leetcode 实…

vue开发图表echarts基本使用

官网传送门 1.echarts-介绍 是一个js插件 性能好可流畅远行PC和移动设备 兼容主流浏览器 提供很多图标&#xff0c;用户且可自行修改。 2.使用npm安装 npm install echarts3.echarts-基础配置 series -- 系列列表。每个系列通过 type 决定自己的图表类型 -- 大白话&#xff…

Web安全——数据库mysql学习

数据库mysql基础 Web安全分享一、数据库的基本操作1、MYSQL登录与退出2、MYSQL数据库的一些解释3、MYSQL注释符有三种&#xff1a; 二、数据库的一些基本操作1、数据库的增删改查(sql语句) 三、table 表的操作1、查看表结构2、查看表的内容3、建立表4、约束条件5、修改表的操作…

小红书发布图文视频笔记软件

小红书发布图文视频笔记软件,&#x1f198;这个工具&#xff0c;不愧是做小红书的神&#xff01;附教程#新媒体 #微信创作者助手 #小红书 微信时刻 软件有月卡、季卡、半年卡、年卡 【引流脚本软件开发定制&#xff0c;欢迎你】 服务时间&#xff1a;&#xff08;8&#xff1a…

公司新来了个测试,一副毛头小子的样儿,哪想到是新一代卷王。。。

内卷&#xff0c;是现在热度非常高的一个词汇&#xff0c;随着热度不断攀升&#xff0c;隐隐到了“万物皆可卷”的程度。 在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是…

vue基础-某个项目ESLint不生效问题

文章目录 前言一、解决方法二、在配置文件中添加一下配置三、本人电脑的ESLint配置总结 前言 vue基础&#xff0c;最近接手同事的项目&#xff0c;发现ESLint不生效了&#xff0c;找了很久也没有发现问题&#xff0c;因为其他的项目是可以用的。 一、解决方法 1、在vscode中打…

KafKa 3.x(二、Broker,消费者)

4. Kafka Broker 4.1 kafka Broker工作流程 4.1.1 Zoopkeeper存储的Kafka信息 启动Zookeeper客户端通过ls命令查看kafka相关信息 在Zookeeper的服务端存储的Kafka相关信息 /kafka/brokers/ids [0,1,2] 记录那些服务器/kafka/brokers/topics/first/partitions/0/state {“l…

关于超卖程序问题分析-java

关于超卖程序问题分析 1.并发情况下&#xff0c;GET缓存 判断>0&#xff0c;成立&#xff0c;均执行扣减库存&#xff0c;导致超卖 2.加锁 以库存key&#xff0c;加锁&#xff0c;setNx&#xff0c;finally解锁 deleteKey 存在问题 1.误解锁&#xff08;是不是也是因为…

Android 11 SystemUI 启动流程

SystemUI 有哪内容 从表面上看&#xff0c; 我们看到的状态栏、通知栏、下拉菜单、导航栏、锁屏、最近任务、低电提示等系统页面都是 SystemUI 的。SystemUI&#xff0c;在源码目录中位于&#xff1a; framework/base/packages 目录下&#xff0c; 可见 SystemUI 和 framework…