## 使用命令连接
* 命令操作方式,在工作中使用的更多一些,所以要达到熟练的程度
* 打开终端,运行命令
~~~
mysql -uroot -p
回车后输入密码,当前设置的密码为mysql
~~~
* 连接成功后如下图
![](https://box.kancloud.cn/83b69bd7a603b95a0dda7f20c15975be_876x479.png)
* 退出登录
~~~
quit或exit
~~~
* 退出成功后如下图
![](https://box.kancloud.cn/9141b1f9abde36bf87e65e03e4e56bd5_441x91.png)
* 登录成功后,输入如下命令查看效果
~~~
查看版本:select version();
显示当前时间:select now();
~~~
>[warning] 注意:在语句结尾要使用分号;
## 远程连接
* 一般在公司开发中,可能会将数据库统一搭建在一台服务器上,所有开发人员共用一个数据库,而不是在自己的电脑中配置一个数据库
* 运行命令
`mysql -h(ip地址) -uroot -p`
* -h后面写要连接的主机ip地址
* -u后面写连接的用户名
* -p回车后写密码
## 数据库操作
* 创建数据库
`create database 数据库名 charset=utf8;`
* 删除数据库
`drop database 数据库名;`
* 切换数据库
`use 数据库名;`
* 查看当前选择的数据库
`select database();`
## 表操作
* 查看当前数据库中所有表
~~~
show tables;
~~~
* 创建表
* auto_increment表示自动增长
~~~
create table 表名(列及类型);
如:
create table students(
id int auto_increment primary key,
sname varchar(10) not null
);
~~~
* 修改表
~~~
alter table 表名 add|change|drop 列名 类型;
如:
alter table students add birthday datetime;
~~~
* 删除表
~~~
drop table 表名;
~~~
* 查看表结构
~~~
desc 表名;
~~~
* 更改表名称
~~~
rename table 原表名 to 新表名;
~~~
* 查看表的创建语句
~~~
show create table '表名';
~~~
## 数据操作
* 查询
~~~
select * from 表名
~~~
* 增加
~~~
全列插入:insert into 表名 values(...)
缺省插入:insert into 表名(列1,...) values(值1,...)
同时插入多条数据:insert into 表名 values(...),(...)...;
或insert into 表名(列1,...) values(值1,...),(值1,...)...;
~~~
* 主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准
* 修改
~~~
update 表名 set 列1=值1,... where 条件
~~~
* 删除
~~~
delete from 表名 where 条件
~~~
* 逻辑删除,本质就是修改操作update
~~~
alter table students add isdelete bit default 0;
如果需要删除则
update students isdelete=1 where ...;
~~~
## 备份与恢复
**数据备份**
* 进入超级管理员
~~~
sudo -s
~~~
* 进入mysql库目录
~~~
cd /var/lib/mysql
~~~
* 运行mysqldump命令
~~~
mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码
~~~
**数据恢复**
* 连接mysqk,创建数据库
* 退出连接,执行如下命令
~~~
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码
~~~
- mysql
- 1.创建库和表
- 1.1.数据库简介
- 1.2.安装管理
- 1.3.数据完整性
- 1.4.命令脚本操作
- 2.查询
- 2.1.条件
- 2.2.聚合
- 2.3.分组
- 2.4.排序
- 2.5.分页
- 3.高级
- 3.1.关系
- 3.2.连接
- 3.3.自关联
- 3.4.子查询
- 3.5.内置函数
- 3.6.视图
- 3.7.事务
- 4.与python交互
- 4.1.交互类型
- 4.2.增改删
- 4.3.查询
- 4.4.封装
- 4.5.用户登录
- Nosql简介
- mongodb
- 1.基本操作
- 1.1.环境安装
- 1.2.数据库操作
- 1.3.集合操作
- 1.4.数据类型
- 1.5.数据操作
- 1.6.数据查询
- 1.6.1.Limit与Skip
- 1.6.2.投影
- 1.6.3.排序
- 1.6.4.统计个数
- 1.6.5.消除重复
- 2.高级操作
- 2.1.聚合aggregate
- 2.1.1.$group
- 2.1.2.$match
- 2.1.3.$project
- 2.1.4.$sort
- 2.1.5.$limit,$skip
- 2.1.6.$unwind
- 2.2.安全
- 2.3.复制(副本集)
- 2.4.备份和恢复
- 2.5.与python交互
- redis
- 1.基本配置
- 2.数据操作
- 2.1.string
- 2.2.键命令
- 2.3.hash
- 2.4.list
- 2.5.set
- 2.6.zset
- 4.高级
- 4.1.发布订阅
- 4.2.主从配置
- 5.与python交互
- 6.login登陆完善