2 数据库安装应用

python@ubuntu:~$ mysql -uroot -pmysql
创建数据库:create database 数据库名 charset=utf-8;
创建表        create table 表名(字段 类型 约束);
            id int auto_increment primary key not null;
插入数据  insert into 表名(...) value(...);
修改数据   update 表名 set 字段名=值;
删除数据   delete from 表名 ;
        逻辑删除: alter into 表名 add isDelete bit default 0;
                  update 表名 set isDelete=1;
select * from 表名

1 远程连接mysql

  • 安装
sudo apt-get install mysql-server mysql-client
然后按照提示输入
  • 管理服务
启动
service mysql start
停止
service mysql stop
重启
service mysql restart
  • 允许远程连接
#找到mysql配置文件并修改
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address=127.0.0.1注释

#登录mysql,运行命令
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option;
flush privileges;

#重启mysql

    

2.添加表

 

3.逻辑删除

  • 对于重要数据,并不希望物理删除,一旦删除,数据无法找回
  • 一般对于重要数据,会设置一个isDelete的列,类型为bit,表示逻辑删除
  • 大于大量增长的非重要数据,可以进行物理删除
  • 数据的重要性,要根据实际开发决定

    

4.命令操作

python@ubuntu:~$ mysql --help   #查看命令

python@ubuntu:~$ mysql -uroot -pmysql    #连接
#查看版本
mysql> select version();        
+-------------------------+
| version()               |
+-------------------------+
| 5.7.20-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)

查看版本:select version();
显示当前时间:select now();

  

5.远程连接

  • 一般在公司开发中,可能会将数据库统一搭建在一台服务器上,所有开发人员共用一个数据库,而不是在自己的电脑中配置一个数据库
  • 运行命令
mysql -hip地址 -uroot -p
  • -h后面写要连接的主机ip地址
  • -u后面写连接的用户名
  • -p回车后写密码

6.数据库操作

#创建数据库
create database 数据库名 charset=utf8;

#删除数据库
drop database 数据库名;

#切换数据库
use 数据库名;

#查看当前选择的数据库
select database();

7.表操作

  • 创建表
auto_increment表示自动增长

create table 表名(列及类型);
mysql> create table school(
    -> id int auto_increment primary key not null,
    -> name varchar(10) not null,
    -> gender bit default 1,
    -> birthday datetime);
  • 修改表

alter table 表名 add|change|drop 列名 类型;
如:

mysql> alter table school add idDelete bit default 0;
删除表
drop table 表名;

查看表结构
desc 表名;

更改表名称
rename table 原表名 to 新表名;

查看表的创建语句
show create table 表名;
mysql> show create table school;
-----+
| school | CREATE TABLE `school` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL,
  `gender` bit(1) DEFAULT b'1',
  `birthday` datetime DEFAULT NULL,
  `idDelete` bit(1) DEFAULT b'0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+-----------------------------

8.数据操作

  • 查询
select * from 表名
  • 增加
1.全列插入:insert into 表名 values(...)

mysql> insert into students values(0,"腾旭",1,"1999-9-9",0);
+----+--------+--------+---------------------+----------+
| id | name   | gender | birthday            | isDelete |
+----+--------+--------+---------------------+----------+
|  1 | 腾旭   |       | 1999-09-09 00:00:00 |          |
2.缺省插入:insert into 表名(列1,...) values(值1,...)

mysql> insert into students(name) values('网易');
mysql> insert into students(gender,name) values(1,'小米');
3.mysql 特有的
同时插入多条数据:insert into 表名 values(...),(...)...;
或insert into 表名(列1,...) values(值1,...),(值1,...)...;
mysql> insert into students(name) values('百度'),('酷狗'),('QQ');
+----+--------+--------+---------------------+----------+
| id | name   | gender | birthday            | isDelete |
|  5 | 百度   |       | NULL                |          |
|  6 | 酷狗   |       | NULL                |          |
|  7 | QQ     |       | NULL                |          |
+----+--------+--------+---------------------+----------+
  • 修改
update 表名 set 列1=值1,... where 条件
mysql> update students set birthday = '1990-2-2' where id=2;

mysql> update students set gender=0,birthday='2017-2-13' where id=6;
  • 删除物理
mysql> delete from students where id=5;
  • 逻辑删除,本质就是修改操作update
alter table students add isdelete bit default 0;
如果需要删除则
update students isdelete=1 where ...;
mysql> update students set isDelete=1 where id=6;

mysql> select * from students where isDelete=0;

9.备份与恢复

数据备份

#进入超级管理员
sudo -s

#进入mysql库目录
cd /var/lib/mysql

#运行mysqldump命令
mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码
root@ubuntu:/var/lib/mysql# mysqldump -uroot -p python3 > ~/Desktop/bak.sql

python@ubuntu:~/Desktop$ vim bak.sql 
一系列的sql语句

数据恢复

连接mysqk,创建数据库

退出连接,执行如下命令

mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码
mysql> create database py31 charset=utf8;

python@ubuntu:~/Desktop$ mysql -uroot -p py31 < bak.sql 
原文地址:https://www.cnblogs.com/venicid/p/8035148.html