【C/C++学院】(21)Mysql数据库编程--开发简介/SQL语句

简介: <h1><span style="line-height:1.5"><span style="font-size:18px">一.mysql安装与管理</span></span></h1> <div><span style="line-height:1.5; font-size:18px; font-family:'Microsoft YaHei UI','Microsoft YaHei

一.mysql安装与管理

tar 解包的命令

tar xvf 包文件名称

tar 打包的命令

tar cvf 要打包的文件名称

rpm卸载命令

rpm -e 包名称

rpm -e 包名称 --nodeps 强行卸载,不检查包的依赖关系

rpm安装包命令

rpm -ivh 包名称


二.字符集


1、首先操作系统的字符集为utf8

查看操作系统字符集命令

locale

2、创建数据库的时候使用CHARACTER SET utf8;指定字符集为utf8

3、设置mysql client字符集

SET NAMES utf8;

4、CRT设置为utf8

三.sql语言


SQL语言当中字符串用单引号。

查询年龄大于21岁的同学

SELECT * FROM table1 WHERE age > 21;

查询C++班所有同学

SELECT * FROM table1 WHERE class = 'C++班';

查询C++班所有同学并且年龄大于22

SELECT * FROM table1 WHERE class = 'C++班' AND age > 22;


查询所有姓王的同学

SELECT * FROM table1 WHERE name LIKE '王%';


windows中加入path环境变量

C:\mysql\lib;C:\mysql\bin

mysql端口号3306,要在linux中将3306端口加入到防火墙的信任端口列表中

DISTINCT代表过滤重复的值

聚合函数往往是与group by字句配合使用的


查找苍老师班里面年龄最大同学的名字

select a.name from table1 a, table3 b where a.class = b.class and b.teacher = '苍老师' 

and a.age = (select max(c.age) from table1 c, table3 d where c.class = d.class and d.teacher = '苍

老师');

在select语句中where查询用到哪个字段,这个字段就必须建立索引

唯一索引的查询效率高于普通索引

建立表的时候PRIMARY KEY (ID))语句相当于为ID字段建立了一个唯一索引


四.操作数据库


登陆
mysql -u root -p

登录远程mysql server的方式

mysql -h IP地址 -u 用户名 -p

使用数据库

use db1;

设置字符集

set names utf8;

查看表结构
desc table1;

插入数据:

INSERT INTO table1 (name, sex, age, class) VALUES ('张三', '男', 24, '0802班');

查询数据:

SELECT * FROM table1;

执行sql脚本

source my.sql
--my.sql-------------------
INSERT INTO table1 (name, sex, age, class) VALUES ('小王', '女', 25, 'C++班');
INSERT INTO table1 (name, sex, age, class) VALUES ('小李', '男', 22, 'C++班');
INSERT INTO table1 (name, sex, age, class) VALUES ('小张', '男', 26, 'JAVA班');
INSERT INTO table1 (name, sex, age, class) VALUES ('王麻子', '女', 25, 'C++班');
INSERT INTO table1 (name, sex, age, class) VALUES ('张公公', '男', 24, 'PHP班');
INSERT INTO table1 (name, sex, age, class) VALUES ('小龙女', '女', 23, 'C++班');


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
数据可视化 关系型数据库 MySQL
嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化
通过本文的介绍,我们详细讲解了如何结合嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议,实现数据的采集、传输、存储和可视化。这种架构在物联网项目中非常常见,可以有效地处理和展示实时数据。希望本文能帮助您更好地理解和应用这些技术,构建高效、可靠的数据处理和可视化系统。
874 82
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
C语言 C++
C++ 简介
C++ 简介
346 21
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
2333 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
存储 算法 Linux
【c++】STL简介
本文介绍了C++标准模板库(STL)的基本概念、组成部分及学习方法,强调了STL在提高编程效率和代码复用性方面的重要性。文章详细解析了STL的六大组件:容器、算法、迭代器、仿函数、配接器和空间配置器,并提出了学习STL的三个层次,旨在帮助读者深入理解和掌握STL。
806 0
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
1275 1
|
算法 安全 Linux
【C++STL简介】——我与C++的不解之缘(八)
【C++STL简介】——我与C++的不解之缘(八)
|
SQL 缓存 关系型数据库
揭秘MySQL一条SQL语句的执行流程
以上步骤共同构成了MySQL处理SQL语句的完整流程,理解这一流程有助于更有效地使用MySQL数据库,优化查询性能,及时解决可能出现的性能瓶颈问题。
433 8
C++(十八)Smart Pointer 智能指针简介
智能指针是C++中用于管理动态分配内存的一种机制,通过自动释放不再使用的内存来防止内存泄漏。`auto_ptr`是早期的一种实现,但已被`shared_ptr`和`weak_ptr`取代。这些智能指针基于RAII(Resource Acquisition Is Initialization)原则,即资源获取即初始化。RAII确保对象在其生命周期结束时自动释放资源。通过重载`*`和`-&gt;`运算符,可以方便地访问和操作智能指针所指向的对象。

推荐镜像

更多