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

一、概述

关系数据库概述:

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.hqwc.cn/news/12974.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

50从零开始学Java之万类之王Object是怎么回事?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在前面的文章中&#xff0c;壹哥跟大家说过&#xff0c;Java是面向对象的编程语言&#xff0c;而在面…

IDEA+SpringBoot+mybatis+SSM+layui+Mysql客户管理系统源码

IDEASpringBootmybatisSSMlayuiMysql客户管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.修改密码3.客户管理4.添加客户5.充值记录管理6.消费记录管理7.客户类型8.添加客户类型 三、部分代码UserMapper.javaLoginController.javaUser.java 四、其他获取源码 一、…

自动化测试工具——Fitnesse

1 介绍 是一个完全集成的独立wiki和验收测试框架。 1.1、协作工具 由于FitNesse是一个wiki web服务器&#xff0c;它的入门和学习曲线非常低&#xff0c;这使得它成为一个优秀的工具&#xff0c;可以与业务涉众进行协作。 1.2、测试工具 FitNesse中创建的wiki页面作为测试…

17款奔驰S400加装原厂无钥匙进入系统,提升您的便利性

奔驰无钥匙进入功能&#xff0c;只要身上装着车钥匙进入车内&#xff0c;车辆就能感应到钥匙的存在&#xff0c;这时只需按下启动键就可启动车辆了 奔驰无钥匙进入功能主要有两大使用体验&#xff0c;首先就是要注意主驾驶位车门的有效检测距离不小于1.5m&#xff0c;其他门钥匙…

Elasticsearch入门

部署单点es 1创建网络 、加载镜像 docker network create es-netdocker pull elasticsearch2安装ES docker run -d \--name es \-e "ES_JAVA_OPTS-Xmx512m -Xmx512m" \-e "discovery.typesingle-node" \-v es-data:/usr/share/elasticsearch/data \-v es-…

运输层:TCP的运输连接管理

1.运输层&#xff1a;TCP的运输连接管理 笔记来源&#xff1a; 湖科大教书匠&#xff1a;TCP的连接建立 湖科大教书匠&#xff1a;TCP的连接释放 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 TCP是面向连接的协议&#xff0c;它基于运输连接来传…

Web3 通过truffle 脚本进行智能合约测试

上文 Web3 处理智能合约部署到本地区块链&#xff0c;并在本地进行测试中 我们讲解了部署智能合约 然后在终端测试的方法 但上文那种终端测试 其实并不保险 而且也比较不专业 对于这个 有一个mocha测试 这是基于node部署环境的一种环境测试 但是这个需要一定的基础 大家可以专门…

数据结构-ArrayList

目录 线性表 顺序表 ArrayList ArrayList的使用 ArrayList的构造方法 ArrayList的常用方法 ArrayList的遍历 实现简单的ArrayList 洗牌算法 删除公共字符串问题 杨辉三角 线性表 线性表是n个具有相同特性的数据元素的有限序列.线性表是一种在实际中广泛使用的数据结…

kubectl详解之声明式管理方法

目录 一、声明式管理方法二、资源配置清单的管理2.1 查看资源配置清单2.1 修改资源配置清单并应用2.1.1 离线修改2.1.2 在线修改 一、声明式管理方法 适合于对资源的修改操作 声明式资源管理方法依赖于资源配置清单文件对资源进行管理 资源配置清单文件有两种格式&#xff1a;…

部署LVS-DR群集

目录 1、LVS-DR数据包流向分析 2、LVS-DR中ARP问题 3、LVS-DR特性 LVS-DR的优缺点 1、LVS-DR数据包流向分析 (1)客户端发送请求到 Director Server (负载均器)&#xff0c;请求的数据报文(源 IP 是CIP&#xff0c;目标 IP 是 VIP) 到达内核空间。 (2) Director Server 利 …

SpringBoot使用EasyExcel批量导出500万数据

SpringBoot使用EasyExcel批量导出500万数据 说明excel版本比较EasyExcel介绍项目目录mysql对应表建表语句pom.xmlapplication.yml配置类启动类代码OrderInfo 实体类OrderInfoExcel excel模版标题类(EasyExcel需要使用这个)TestController控制层接口层TestServiceTestServiceImp…

行为型模式-策略模式(一)

今天就说一说设计模式中的策略模式&#xff0c;从名字来讲&#xff0c;意思就是&#xff0c;对应不同的情况&#xff0c;就有一种解决问题的办法&#xff0c;不同的情况&#xff0c;就有不同的应对方法&#xff0c;这就是策略模式&#xff0c;非常的智能化。 也可以参考菜鸟 …