使用mysql的一些问题的总结

又是美好的一天

一. 数据的导入和导出内容

1. 导出 mysql 的结构和数据(在服务器上linux中)

# 1、导出数据和表结构:
#  mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
	mysqldump -uroot -p dbname > dbname.sql
# 敲回车后会提示输入密码 , 导出到了执行这个命令的当前文件夹下
#
#
# 2、只导出表结构 , 多了一个 -d 而已.
# mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
	mysqldump -uroot -p -d dbname > dbname .sql

2. 导入 mysql 的数据和结构(linux中)

二、导入数据库
# 1. 进入数据库
	mysql -u root -p

# 2. 首先建空数据库
	mysql>create database dbname ;

# 3. 导入数据库
#        方法一:
#            (1)选择数据库
	mysql>use dbname ;
#			(2)设置数据库编码
	mysql>set names utf8;
#			(3)导入数据(注意在linux中的 sql 文件的路径)
	mysql>source /home/you/path/dbname .sql;


#方法二:(已经创建好了数据库 dbname )
#   mysql -u用户名 -p密码 数据库名 < 数据库名.sql
	mysql -uroot -p123456  dbname < 数据文件.sql

参考文档 = https://www.cnblogs.com/chandb/p/7425680.html


万恶的分割线


二. 数据库的基础操作

熟能生巧啊…

所有操作, 首先 使用对应的数据库

	show database;
	use database_name;

1. mysql 的插入___增

# INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
	INSERT INTO Websites (name, url, country) VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');
	
	insert into table_name (name, age, sex, tel) values ('小明', 23, 1, 17395849332);

# 没有指定要插入数据的列名的形式需要列出插入行的每一列数据:
	insert into table_name values('小曾', 24, 0, 17395849333);
...

在这里插入图片描述

2. mysql 的删除___删

# DELETE FROM table_name WHERE some_column=some_value;
	DELETE FROM Websites WHERE name='Facebook' AND country='USA';
	delete from table_name where id = 123456;
# 下面的操作将这个表中的全部数据
	delete from table_name ;
...

在这里插入图片描述

3. mysql 的修改___改

# UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
	UPDATE Websites SET alexa='5000', country='USA'  WHERE name='菜鸟教程';
	update table_name set name = '小何', age = 22 where sex = 0;
# 不加限定条件将使这个表中的所有 name 和 age 都被改掉
	update table_name set name = '小杨', age = 23 ;
	

在这里插入图片描述

4. mysql 的查找___查

三. 花式查找法.

1. 去重查询: DISTINCT

	SELECT DISTINCT country FROM Websites;

在这里插入图片描述
2. IN 操作符

	SELECT * FROM Websites WHERE name IN ('Google','菜鸟教程');
# 等同于 
	select * from Websites where name='Google' or name='菜鸟教程';

在这里插入图片描述

四. mysql的 order by 和 group by

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

	SELECT * FROM Websites ORDER BY alexa;

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。

HAVING 子句可以让我们筛选分组后的各组数据。
所以 having 子句需要放在 group by 子句后面 ( 牛客 )

在这里插入图片描述

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

SELECT site_id, SUM(access_log.count) AS nums FROM access_log GROUP BY site_id;
限时福利1:原价 129 元,最后2天仅需 69 元!后天涨价至98元 限时福利2:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利3:购课添加助教领取价值 800 元的编程大礼包 为什么需要掌握高性能的MySQL实战? 由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了「高性能 MySQL 知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、MySQL 8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读写分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页