mariadb数据库的增删改查+备份和还原

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hankunfa/article/details/80602306

实验--增删改查

create database qindatabase;                                        #创建数据库(每创建一个数据库,在/var/lib/mysql/里创建一个文件夹)

show databases;                                                     #查看数据库

use qindatabase;                                                    #使用数据库

create table qintable(id int(2),name varchar(10),mail varchar(2));  #创建表

show tables

desc qintable; #查看表的结构

insert into qintable(id,name,mail) values(1,'qin1','qin1@qin.com'); #插入数据(如果每列都插入数据就不用加字段名)

select * from qintable;

insert into qintable(id,name) values(1,'qin3')                      #插入两列数据

insert  into  qinntable values(5,'qin5','qin5@qin.com'),(6,'qin6','qin6@qin.com');              #可以一次插入多行数据

delete from qintable where id=4;                            #删除一行数据

update qintable set name='bing' where id=2;                 #修改数据

create table qin1 like qintabe;                             #直接调用别的表的结构

desc qin; 

insert into qint1 select * from qntable;                    #也可以直接插入别的表的数据

select * from qin1;

create table qin2 as select * from qintable;                #直接把别的表的结构和数据都拷过来

select * form qin2;

alter table qintable add newlist varchar(20);               #修改表的结构,插入一列

select * from qintable;

alter table qintable drop newlist;                          #删除newlist这一列

alter table qintable add firstlist varchar(20) first;       #把firstlist这一列添加到第一列

alter table qintable add afterid varchar(20) after id;      #添加afterid这一列到id的后面

delete from qin1;                #删的只是数据,表的结构还在

truncate qin3;                   #和delete很像,删除数据,但是这个比delete更狠,可以删除硬盘上的标

show tables;

drop table qin1;                 #drop直接把表的数据和结构都给删了

show tables;

drop database qindatabase;       #删除数据库

show database;

实验--从文件里向MySQL导数据,例如:

1,qin1,qin1@qin.com
2,qin2,qin2@qin.com
3,qin3,qin3@qin.com
4,,qin4@qin.com

5,qin5,

create table qintable(id int(4),name varchar(10),email varchar(20));

load data infile '/qin.txt' into table qintable fields terminated by ',' lines terminated by '\n';                                #以“,”为分隔符  以回车键为结尾

select * from qintable;

select * from qintable into outfile '/var/lib/mysql/qindatabase/qintable.txt' fields terminated by ',' lines terminated by '\n';  #MySQL导出到TXT文件,MySQL用户要有写的权限

 ll -Z /var/lib/mysql/

mkdir /backup

semanage fcontext -a -t mysql_db_t '/backup(.*)?'

restorecon -RFv /backup/                                                  #如果导到别的别的地方,需要修改文件的上下文


实验--备份

mysqldump -u root -p scott > /scott.dump                                  #备份sott到/sott.dump

mysqldump -u root -p scott emp >/scott.emp.dump                           #备份scott下emp表到/scott.emp.dump

mysqldump -u root -p scott dept salgrade > /scott.dept+salgrade.dump      #备份两个表


实验--还原

create database qin;

mysql -u root -p qin </scott.dump               #还原数据库

mysql -u root -p qin </scott.dept+salgrade.dump #还原表

use qin;

show tables;

展开阅读全文

没有更多推荐了,返回首页