mysql的使用

  • mysql只是一个数据存储工具,具有一些它自己的命令来对数据进行出路,在日常中的使用情况其实很简单,主要分为以下几个环节:

1、建立数据库

不同平台通过对应的方式建立数据库,配置好环境,权限等。
windows下建立mysql数据库:
linux下建立mysql数据库:
采用了ubuntu操作系统,使用最新的软件安装工具apt进行操作,打开终端,输入命令:

sudo apt install mysql-server

开始安装,安装会自动配置顶级用户,使用命令查看名称和密码:

@ubuntu:sudo gedit /etc/mysql/debian.cnf

@ubuntu:@ubuntu:sudo vim /etc/mysql/debian.cnf

记录下user及 password,在终端进入mysql

@ubuntu:mysql -u 刚刚查看的user -p
@ubuntu:Enter password: 刚刚查看的密码

登陆之后,可以进行用户管理操作,包括增加、删除、改名、改密码等。

#查看已有数据库

mysql> show databases;

#查看已有用户信息

mysql>use mysql;
mysql>show tables;
mysql>select user,host from user;

#更改root用户密码(仍在mysql数据库中)

mysql>update mysql.user set authentication_string=password('新密码') where user='root' and Host ='localhost';
mysql>update user set plugin="mysql_native_password"; #照抄此行

#更改刚刚查看的user的密码(仍在mysql数据库中)

mysql>update user set authentication_string=password('新密码') where user='刚刚查看的user' and Host ='localhost';
mysql>update user set plugin="mysql_native_password"; 
mysql>flush privileges;#更新所有操作权限

#修改用户名

mysql>update user set user ='新用户名' where user ='旧用户名'

#创建新用户

mysql>create user 'test'@'%' identified by '123321';#新用户名是test,新host是%,代表任何人均可访问

#用户权限设置

mysql>GRANT ALL PRIVILEGES ON *.* TO 'king'@'%' IDENTIFIED BY '密码 WITH GRANT OPTION;#%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接

#退出重启生效

mysql> quit;
@ubuntu:~$ sudo service mysql restart #重新启动服务
@ubuntu:~$ mysql -u root -p #可以正常使用了

2、使用数据库

可以通过命令行方式来使用数据库,也可以通过图形界面软件来操作数据库,从而来更新数据获取数据等。
数据库操作的常用命令:
show databases;显示全部数据库名称
use database 数据库名称;进入某个数据库内
show tables;查看当前数据库下全部数据表
desc table 数据表名称;显示某数据表的描述性信息:字段、字段类型、NULL、KEY、Default、Extra。
select * from table 数据表名称;显示数据表内的全部信息
select 目标字段q,目标字段n from 数据表名称 where 字段条件(eg 字段m>50),group by 字段k,字段j having 字段k/j 字段条件(<>‘北京’),order by 字段o desc(降序)/asc(升序);按照字段条件约束选择目标数据
select 目标字段n form 数据表A INNER/LEFT/RIGHT JOIN 数据表B on A.key=B.key;选择符合主键 约束条件的目标字段
select 数据表A.目标字段m,n from 数据表A union (all) select 数据表B.目标字段m,n from 数据表B;拼接两个数据表的查询结果,union连接会去除字段组合下的重复项。字段单独重复并不会去重复
select distinct 目标字段 from 数据表;不重复的显示数据表中目标字段的值
select 目标字段 from 数据表A where 子条件查询(eg: in、any、all、exist)
select 数据表快捷命名.字段 from 数据表 as 数据表快捷命名;将表名称的书写简化,用as
select 目标字段 from 数据表A,limit 3;显示前三条结果
alter table 数据表名称 rename 新数据表名称;
--------------------------------modify 目标字段 新的数据类型 #可选参数 first/after 某个字段,用来排序;
--------------------------------change 目标字段 新的字段名字 新的数据类型;
--------------------------------add 新的字段 新的字段类型 约束条件;
--------------------------------drop 字段名称;删除字段
drop from 数据表 where 条件;删除符合条件的记录
update 数据表 set 字段名=concat(自定义名称,原始名称);在字段名称前加上新的字符
load data local infile ‘文件路径\文件名称.文件类型‘ into table 数据表名称,fields terminated by ’分隔符‘,ignore 1 linies;导入txt格式的数据文件,每个数据的分割用的是分隔符,导入的数据忽略第一行。
show variables like ‘%secure%’;查询导出条件和导出路径
select 目标字段 into outfile ‘/var/lib/mysql-files/test.xls’ from 数据表+约束条件;windows下路径需要两个
其他:
导入导出格式说明:\t 的意思是 横向跳到下一制表位置=TAP键,’\r’是回车,前者使光标到行首,’\n’是换行,后者使光标下移一格,windows下换行并到行首的操作是’\r\n’,而linux是’\n’。
fileds terminated by 是每个数据的分割符指定,lines terminated by 是每行的分割指定。数据导出的时候会指定分割符,数据导入也要采用对应的分隔符。
eg:

load data local infile '~/桌面/all.csv' into table city_information fields terminated by ',' lines terminated by '\n' ignore 1 lines;

3、远程连接数据库,查询好数据并传输回来。

  • ssh连接远程linux服务器,mysql登录操作后保存文件,scp传输回结果。可以用命令,也可以用一些可视化软件。
  • eg:
    连接远程服务器
    ssh -p 端口号(mysql一般为3306)用户名@远程服务器IP地址
    登录mysql
    mysql -u root -p 输入密码
    数据库操作并保存文件
    从本地传数据到远程服务器
    scp -P 端口号(4588)本地文件或本地文件夹 远程服务器名称@远程服务器IP:重新命名
    从远程服务器传输数据到本地
    scp -P 端口号(4588)远程服务器名称@远程服务器IP:路径/文件名 本地路径/文件名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值