MySQL操作(备份很重要)
文档一:
--修改用户密码的命令
mysqladmin -uroot -proot123 password mysql123 --登录mysql数据库的命令
mysql -uroot -proot123 --显示数据库的命令
show databases; --使用数据库的命令
use mysql; --显示当前连接的数据库
select database(); --显示当前服务器的版本
select version(); --显示当前日期时间
select now(); --显示当前用户
select user();
文档二:
--创建数据库
create database test1; create database if not exists test2 character set utf8;(防止存在发生错误) --修改数据库的编码格式
alter database test2 character set latin1; --查看数据库的编码格式
show variables like 'character%'; --删除数据库
drop database test2;
创建图书管理数据库:
创建:
--创建图书管理系统的数据库
create database book; --使用数据库
use book; --创建读者信息表
create table reader(
card_id char(),
name varchar(),
sex enum('男','女'),
age tinyint,
tel char(),
balance decimal(,)
); --查看数据库表列表
show tables from book; --查看数据表的基本结构
show columns from reader; desc reader; --查看表的详细结构(可以用来显示数据表的创建语句)
show create table reader;
修改:
--修改表添加列
alter table reader add email varchar(); --查看表的基本结构
desc reader; --修改表,在指定位置添加列
alter table reader add email2 varchar() after tel; --修改列名
alter table reader change email2 email_bak varchar(); --修改列的数据类型
alter table reader modify email varchar(); --修改列的排列位置
alter table reader modify balance decimal(,) after email; --删除列
alter table reader drop email_bak; --修改表名
alter table reader rename to readerinfo;
删除:
--删除多个数据库表
drop table t1,t2; --创建分区表
create table bookinfo(
book_id int,
book_name varchar()
)
partition by range(book_id)(
partition p1 values less than(),
partition p2 values less than(),
partition p3 values less than MAXVALUE
); --插入3条测试数据
insert into bookinfo values(,'t1');
insert into bookinfo values(,'t2');
insert into bookinfo values(,'t3'); --指定分区查看数据
select * from bookinfo partition(p1);
创建表时约束
--创建表时添加非空约束
create table bookinfo(
book_id int,
book_name varchar() not null
); --删除非空约束
alter table bookinfo modify book_name varchar(); --通过修改表添加非空约束
alter table bookinfo modify book_name varchar() not null;
--创建表时添加主键约束
create table bookinfo(
book_id int primary key,
book_name varchar() not null
); create table bookinfo(
book_id int,
book_name varchar() not null,
constraint pk_id primary key(book_id)
); --删除主键约束
ALTER TABLE bookinfo DROP PRIMARY KEY; --通过修改表的方式添加主键约束
ALTER TABLE bookinfo ADD PRIMARY KEY(book_id);
--创建表时添加唯一约束
CREATE TABLE bookinfo(
book_id INT PRIMARY KEY,
book_name VARCHAR() NOT NULL UNIQUE
); --删除唯一约束
ALTER TABLE book_info DROP KEY uk_bname; --通过修改表的方式添加唯一约束
ALTER TABLE bookinfo ADD UNIQUE(book_name);
--创建表时添加默认约束
CREATE TABLE bookinfo(
book_id INT PRIMARY KEY,
press VARCHAR() DEFAULT '机械工业出版社'
); --删除默认约束
ALTER TABLE bookinfo ALTER COLUMN press DROP DEFAULT; --通过修改表的方式添加默认约束
ALTER TABLE bookinfo ALTER COLUMN press SET DEFAULT '机械工业出版社’;
--创建表时添加外键约束 --图书类别表(父表)
CREATE TABLE bookcategory(
category_id INT PRIMARY KEY,
category VARCHAR(),
parent_id INT
); --图书信息表(子表)
CREATE TABLE bookinfo(
book_id INT PRIMARY KEY,
book_category_id INT,
CONSTRAINT fk_cid FOREIGN KEY(book_category_id) REFERENCES bookcategory(category_id)
); --删除外键约束
ALTER TABLE bookinfo DROP FOREIGN KEY fk_cid; --通过修改表的方式添加外键约束
ALTER TABLE bookinfo ADD FOREIGN KEY(book_category_id) REFERENCES bookcategory(category_id);
上手操作:
-- 打开图书管理的数据库
use book; -- 查看库下都有哪些表
show tables; -- 删除库中原有的表
drop table bookinfo;
drop table bookcategory, readerinfo; -- 图书类别表
create table bookcategory(
category_id int primary key,
category varchar() not null unique,
parent_id int not null
); -- 图书信息表
create table bookinfo(
book_id int primary key,
book_category_id int,
book_name varchar() not null unique,
author varchar() not null,
price float(,) not null,
press varchar() default '机械工业出版社',
pubdate date not null,
store int not null,
constraint fk_bcid foreign key(book_category_id) references bookcategory(category_id)
); -- 读者信息表
create table readerinfo(
card_id char() primary key,
name varchar() not null,
sex enum('男','女','保密') default '保密',
age tinyint,
tel char() not null,
balance decimal(,) default
); -- 借阅信息表
create table borrowinfo(
book_id int,
card_id char(),
borrow_date date not null,
return_date date not null,
status char() not null,
primary key(book_id,card_id)
);
MySQL操作(备份很重要)的更多相关文章
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- mysql数据库备份与还原命令
还原一个数据库:mysql -h localhost -u root -p123456 www 备份一个数据库:mysqldump -h localhost -u root -p123456 www ...
- windows mysql 自动备份的几种方法
转自:http://www.cnblogs.com/liongis/archive/2013/03/12/2956573.html 1.复制date文件夹备份===================== ...
- java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux
相信很多朋友都经历过数据库出问题的情况,我也同样(见我的上一篇博文:phpmyadmin误删表后的恢复过程(心惊胆跳啊) ).如果数据很大或者很重要,那么恢复起来是相当困难的,所以我们在做一个相对 ...
- MYSQL自动备份策略的选择
目前流行几种备份方式: 1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式.优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点 ...
- MySQL数据库备份还原(基于binlog的增量备份)
MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份 增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...
- 最简便的MySql数据库备份方法
http://www.kankanews.com/ICkengine/archives/194.shtml 使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但 ...
- MySQL恢复备份读书笔记
1. 任何执行时间长于 wait_timeout或interactive_timeout选项值得备份,都会导致会话被关闭,这也会隐含执行UNLOCK TABLES命令.2. 对于使用FLUSH TAB ...
- mysql主从备份及常见问题处理
1.mysql主从备份基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新 ...
随机推荐
- #Java学习之路——基础阶段二(第五篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- 【从零开始搭建自己的.NET Core Api框架】(七)授权认证进阶篇
系列目录 一. 创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...
- Python基础(random模块)
random 常用的方法: #Author : Kelvin #Date : 2019/1/6 15:33 import random print(random.random()) #产生0-1之间的 ...
- Elasticsearch Index模块
1. Index Setting(索引设置) 每个索引都可以设置索引级别.可选值有: static :只能在索引创建的时候,或者在一个关闭的索引上设置 dynamic:可以动态设置 1.1. S ...
- Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 项目)
Linux+.Net Core+Nginx 之前的文章中有提到关于使用Nginx在linux来实现反向代理,今天我们继续加点料.在Centos7中部署.NetCore,然后使用Nginx进行反向代理! ...
- Kubernetes的DaemonSet(上篇)
背景 静儿作为美团容器化团队HULK的一员,经常需要和Kubernetes(k8s)打交道.第一次登陆node(宿主机)的时候,发现连续登陆几台都看到了Prometheus-Node-Exporter ...
- 知识小罐头04(idea+maven+部署war包到tomcat 下)
上一节新建了一个基本的maven web环境,现在最快速度新建一下springmvc环境! 1.最快搭建springmvc环境 什么叫做最快,当然是怎么简单怎么来啦!由于内容都是很熟悉的东西,serv ...
- Java进阶篇设计模式之二 ----- 工厂模式
前言 在上一篇中我们学习了单例模式,介绍了单例模式创建的几种方法以及最优的方法.本篇则介绍设计模式中的工厂模式,主要分为简单工厂模式.工厂方法和抽象工厂模式. 简单工厂模式 简单工厂模式是属于创建型模 ...
- Python:鲜为人知的功能特性(下)
GitHub 上有一个名为<What the f*ck Python!>的项目,这个有趣的项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性,并尝试讨论这些 ...
- merge和rebase的区别
前言 我从用git就一直用rebase,但是新的公司需要用merge命令,我不是很明白,所以查了一些资料,总结了下面的内容,如果有什么不妥的地方,还望指正,我一定虚心学习. merge和rebase ...