mysql在cmd下启动及操作
mysql在cmd下启动/导出操作
开启
1.设置环境变量
将mysql安装位置对应下的bin文件夹的位置复制到path之中
2.开启服务
net start mysql57(服务名)
3.进入mysql
mysql -hlocalhost -uroot -p 回车
其中-h代表的是服务器,-u代表用户,-p代表密码
操作
1.查看MySql的导入与导出的目录
show variables like '%secure%';
2.mysql数据导出为csv文件
导出到哪里;怎么导,从哪里导出
1.导出顺序
SELECT INTO OUTFILE FROM
#1---需要导出什么(其实已经在括号设置好了,因为全部数据导出是在对表已经操作的情况下实行的)
SELECT *
#2---从哪里导出(实际上先对旧表movie进行操作,采用交操作,实现属性名的重新设置(也可以不用更新)新旧属性名要一一对应,之后命名为新表movie_,实际上就是复制了一份,对原先的表没有修改)
FROM (select 'mid','title','introduction','rating','releasedate' union select*from movie) movie_ #movie_就是代表要输出的表(只不过以属性的形式输出)
#3---导出到哪里,导出到movie.csv文件中,旧表不能直接导入到movie.csv文件,因为会直接破坏旧表,不利于mysql的数据库的维护.
#注意输出的地址斜杠是/,不是windows下的\,千万注意
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/movie.csv'
#4---设置字符编码--防止乱码一般就是GBK或者utf8
character set utf-8
#5----导入规则,下面就是新表中字段导入csv表格当中的规则.
# FIELDS之间分隔的标志就是",",遇到这个前面的就为一个字段.例如
#"我爱你","20","相貌平常,经常耍流氓!哈哈" mysql数据格式
#| id | name | age | description |
#+----+----------变为----------------------------+
#| 1 | 我爱你 | 20 | 相貌平常,经常耍流氓!哈哈 | csv数据格式
FIELDS TERMINATED BY ','
#代有双引号的词组,要先将""去除,之后放入csv文件中如上面的:
#"我爱你"--->| 我爱你 |
OPTIONALLY ENCLOSED BY '"' #意思就是双引号可选择关闭
#例如电影当中的简介,一般比较长,遇到换行\r,那就说明简介完成了,就可以把它设置为一个属性.
LINES TERMINATED BY '\r';
as的用法,起别名,给已知的列起别名
引出一个代码:
SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
FROM (select 'pid','birth','death','name','biography','birthplace' union select person_id,person_birth_day,person_death_day,case when person_name is then person_english_name else person_name end as name,person_biography,person_birth_place from person
) person_;
涉及到两个知识点
2.SELECT 属性名 ,case when then else end as 属性名 FROM 表名
上面当中:
select person_id,person_birth_day,person_death_day, #特别注意这个逗号,case when person_name is then person_english_name else person_name end as name,person_biography,person_birth_place
from person
旧的属性名(旧表person的)
person_id,person_birth_day,person_death_day,#直接选出的
name ,person_biography,person_birth_place #其中name是经过case when then else end这个条件选出的属性(用as生成的),其他的属性person_biography,person_birth_place则是直接选出,这点尤其要注意
#两部分的属性都是在旧表person中选择的
新表(person_)的属性
select 'pid','birth','death','name','biography','birthplace'
并且他们一一对应,–>所以我们一开始的select不是重点所以只需要select *就可以,主要是为了规范
3.union与union all
两者都是集合操作,这就要求操作的两个表的结构相同,但union是小并操作(消除重复),union all是大并操作(不消除重复),但两者都是对这两张表的结合(为了便于说明,对如下代码进行了删减进),
SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
FROM (select 'pid','birth','death' union select person_id,person_birth_day,person_death_day from person
) person_;
其数据导出的主要过程如下:
先从旧表person当中选取各种属性,之后在新表(person_)之中建立对应的属性,
然后进行一个小并操作(个人自定义,便于描述),因为新建的表是属性值都为空,加上与旧表的小并操作,,其实就相当于把旧表复制给了新表,
然后新表根据导入规则,将表中的数据进行导入到csv文件当中,这样就实现了mysql数据的导出到csv文件当中的过程
4.case函数
case可以嵌套
主要是解决不同情况的的不同输出.减少代码量.
选修多门课程的学生,要选择一门课程作为主修,主修flag里面写入 Y。只选择一门课程的学生,主修flag为N(实际上要是写入Y的话,就没有下面的麻烦事了,为了举例子,还请多多包含)。
只选修一门课程的人,返回那门课程的ID
选修多门课程的人,返回所选的主课程ID
SELECT std_id,
CASE WHEN COUNT(*) = 1 --只选择一门课程的学生的情况
THEN MAX(class_id)
ELSE MAX(CASE WHEN main_class_flg = 'Y'
THEN class_id
ELSE NULL END
)
END AS main_class
FROM Studentclass
GROUP BY std_id;
运行结果
STD_ID MAIN_class
—— ———-
100 1
200 3
300 4
400 5
500 6
case函数注意事项
先看一段代码:(两个易错点)
CASE col_1
WHEN 1 THEN 'Right'
WHEN NULL THEN 'Wrong'
END
其中’Wrong’是错误的,所以永远不会出现Wrong的情况,正确格式为
WHEN NULL THEN 'Unknown'
也可以写成
#WHEN col_1=NULL THEN 'Unknown' 是错误的
WHEN col_1 IS NULL THEN 'Unknown' #才是正确的
没有”=”千万要注意,一般col_1 IS就代表不为空
5.select as的用法
as的用法,起别名,给已知的列起别名
select id,column1 * column2 as column from table1
select count(*) as total from table1
另外注意:select Product as Description, Price, Image from test
as的作用范围为“as到它后面的第一个逗号为止”。其后面的“price,image”是select 选取的表中的其他字段。
完整的语句:
select Product as Description, Price, Image from test
查询结果为:
| product | Price | image |
| aa | 1.00 | :) |
完整编码
use movie;
#导出电影类型信息
select *
from(
select 'gid','gname' #带''是为了创建新表的属性.用字符串代表
union
select * from genre
)genre_
#输出地址包括具体的存储文件,不要写错了是csv,不是cvs,即使写错了,改下后缀名同时可以.
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/genre.csv'
character set utf8 #设置好编码格式,否则默认是gbk
fields terminated by ','
optionally enclosed by '"';#去掉双引号在存储到csv中
#导出电影信息
select *
from(
select 'mid','title','introduction','rating','releasedate'
union
select * from movie
)movie_
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/movie.csv'
character set utf8
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\r';
#导出电影所属类型信息
select *
from(
select 'mid','gid'
union
select * from movie_to_genre
)movie_to_genre_
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/movie_to_genre.csv'
character set utf8
fields terminated by ','
optionally enclosed by '"';
#导出演员信息
select *
from(
select 'pid','birth','death','name','biography','birthplace'
union
select person_id,person_birth_day,person_death_day,
case
when person_name then person_english_name #记住这里千万没有单独 is,只有is null
else person_name
end
as name, #case函数作为选取person_name的条件,其函数结果用name属性表示,实现形式主要是采用as方法
person_biography,person_birth_place from person
)person_ #新表person_
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person.csv'
character set utf8
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\r'; #
#导出演员与所演电影关系表
select *
from(
select 'pid','mid'
union
select * from person_to_movie
)person_to_movie_
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person_to_movie.csv'
character set utf8
fields terminated by ','
optionally enclosed by '"';
mysql在cmd下启动及操作相关推荐
- tomcat环境配置以及cmd下启动tomcat
下载tomcat 进入tomcat官网选择版本 tomcat环境变量 在系统变量中新建下面俩个变量 CATALINA_BASE tomcat安装目录D:\tomcat CATALINA_HOM ...
- 在Linux下如何启动MySQL服务_怎样在linux下启动mysql服务-linux下启动mysql服务的方法 - 河东软件园...
近几日有用户在向小编询问,在linux系统下安装了Mysql数据库,软件是顺利安装了,可是不知道如何进行Mysql的相关配置才能使mysql服务的相关启动及停止操作.Mysql是目前比较流行的数据库了 ...
- 玩转MySQL之Linux下的简单操作(服务启动与关闭、启动与关闭、查看版本)
小弟今天记录一下在Linux系统下面的MySQL的简单使用,如下: 服务启动与关闭 启动与关闭 查看版本 环境 Linux版本:centeros 6.6(下面演示),Ubuntu 12.04(参见文章 ...
- MySQL在DOS下的基本命令操作
启动net start mysql 重置root密码 方法一:在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据 ...
- mac 查看mysql 端口_Mac下启动和停止Mysql及查看端口
启动Mysql服务 sudo /Library/StartupItems/MySQLCOM/MySQLCOM start 停止Mysql服务 sudo /Library/StartupItems/My ...
- entity framework core mysql,DotNet Core下使用 EntityFrameworkCore 操作MySQL (一)
1.新建一个Core的Web项目 注意:选择的是2.0版本 添加依赖项 依赖项>右键>管理NuGet程序包 输入以下包名 MySql.Data.EntityFrameworkCore 然后 ...
- CMD下启动与关闭程序
:A start "" "D:\Program Files\Tencent\QQ\Bin\QQ.exe" ping 127.0.0.1 -n 2 taskk ...
- mysql 密码长度约束_MySQL简单操作【1、在cmd下MySQL的运行及简单增删改查】
上篇文章介绍了在Windows10下安装MySQL,本篇文章介绍cmd下简单的操作. 1.登录 MySQL 当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQ ...
- linux mysql多实例启动_Mysql实例Linux下启动多个mysql服务器例子
<Mysql实例Linux下启动多个mysql服务器例子>要点: 本文介绍了Mysql实例Linux下启动多个mysql服务器例子,希望对您有用.如果有疑问,可以联系我们. MYSQL教程 ...
最新文章
- 新书问答:Company-Wide Agility
- dc综合与pt静态时序分析(中文)_小三电系统(PDU+DC+OBC)的技术研究
- Spark Streaming介绍,DStream,DStream相关操作(来自学习资料)
- CCNA-第十一篇-VTP+STP(上)
- SparkSQL-从0到1认识Catalyst
- win7系统0x0000001a蓝屏代码怎么办
- 我的世界中国版服务器无限夜视,我的世界中国版怎么无限夜视_我的世界夜视药水怎么合成_我的世界怎么永久夜视...
- 通过Android上的意图启动Google地图路线
- Tiny6410 U-boot移植
- python中大于多少小于怎么表示_Python While语句大于/小于符号
- COSOSWAP的这份NFT防盗指南,请给周杰伦转发
- 嵌入式Linux开发常用命令总结
- 『phphot』【SD2.0大会】Google中国工程研究院副院长林斌演讲
- ios版本与xcode版本
- 备考系统集成项目管理工程师经验
- win10系统连接wifi后可以上网但是显示【无Internet,安全】解决 and Maple初始化失败问题
- c语言程序设计66页,C语言程序设计
- 投标任性,围标串标一查实,扫黑除恶,现在投标必须签订一样协议
- linux 命令之jq
- 微信H5视频全屏/不全屏/自动播放等相关问题解决
热门文章
- AutoAugment: Learning Augmentation Strategies from Data
- AK消防 注册消防工程师 要点汇总 建筑消防性能化防火设计
- Linux网络编程7——epoll反应堆模型
- 山西省忻州一中2021高考成绩查询,【高考直击】2021年高考今日开考
- 资源中心:一. 漫画系列
- 设计模式之依赖倒置设计原则
- Android 切换系统语言
- 熟男,好男,傻男,超男?-------…
- 常州SEO姜东:怎么找出自己网站的所有连接?
- hasChildNodes()方法,nodeName、nodeValue、nodeType介绍