MySQL操作(备份很重要)

文档一:

--修改用户密码的命令
mysqladmin -uroot -proot123 password mysql123

--登录mysql数据库的命令
mysql -uroot -proot123

--显示数据库的命令
show databases;

--使用数据库的命令
use mysql;

--显示当前连接的数据库
select database();

--显示当前服务器的版本
select version();

--显示当前日期时间
select now();

--显示当前用户
select  user();
View Code

文档二:

--创建数据库
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;
View Code

创建图书管理数据库:

创建:

--创建图书管理系统的数据库
create database book;

--使用数据库
use book;

--创建读者信息表
create table reader(
    card_id char(18),
    name varchar(10),
    sex enum('',''),
    age tinyint,
    tel char(11),
    balance decimal(7,3)
);

--查看数据库表列表
show tables from book;

--查看数据表的基本结构
show columns from reader;

desc reader;

--查看表的详细结构(可以用来显示数据表的创建语句)
show create table reader;
View Code

修改:

--修改表添加列
alter table reader add email varchar(30);

--查看表的基本结构
desc reader;

--修改表,在指定位置添加列
alter table reader add email2 varchar(30) after tel;

--修改列名
alter table reader change email2 email_bak varchar(30);

--修改列的数据类型
alter table reader modify email varchar(25);

--修改列的排列位置
alter table reader modify balance decimal(7,3) after email;

--删除列
alter table reader drop email_bak;

--修改表名
alter table reader rename to readerinfo;
View Code

删除:

--删除多个数据库表
drop table t1,t2;

--创建分区表
create table bookinfo(
    book_id int,
    book_name varchar(20)
)
partition by range(book_id)(
    partition p1 values less than(20109999),
    partition p2 values less than(20159999),
    partition p3 values less than MAXVALUE
);

--插入3条测试数据
insert into bookinfo values(20100005,'t1');
insert into bookinfo values(20140015,'t2');
insert into bookinfo values(20170011,'t3');

--指定分区查看数据
select * from bookinfo partition(p1);
View Code

创建表时约束

--创建表时添加非空约束
create table bookinfo(
    book_id int,
    book_name varchar(20) not null
);

--删除非空约束
alter table bookinfo modify book_name varchar(20);

--通过修改表添加非空约束
alter table bookinfo modify book_name varchar(20) not null;
View Code
--创建表时添加主键约束
create table bookinfo(
    book_id int primary key,
    book_name varchar(20) not null
);

create table bookinfo(
    book_id int,
    book_name varchar(20) not null,
    constraint pk_id primary key(book_id)
);

--删除主键约束
ALTER TABLE bookinfo DROP PRIMARY KEY;


--通过修改表的方式添加主键约束
ALTER TABLE bookinfo ADD PRIMARY KEY(book_id);
View Code
--创建表时添加唯一约束
CREATE TABLE bookinfo(
    book_id INT PRIMARY KEY,
    book_name VARCHAR(20) NOT NULL UNIQUE 
);

--删除唯一约束
ALTER TABLE book_info DROP  KEY  uk_bname;


--通过修改表的方式添加唯一约束
ALTER TABLE bookinfo ADD UNIQUE(book_name);
View Code
--创建表时添加默认约束
CREATE TABLE bookinfo(
    book_id INT PRIMARY KEY,
    press VARCHAR(20)  DEFAULT '机械工业出版社'
);


--删除默认约束
ALTER TABLE bookinfo ALTER COLUMN press DROP DEFAULT;


--通过修改表的方式添加默认约束
ALTER TABLE bookinfo ALTER COLUMN press SET DEFAULT '机械工业出版社’;
View Code
--创建表时添加外键约束

--图书类别表(父表)
CREATE TABLE bookcategory(
    category_id INT PRIMARY KEY,
    category VARCHAR(20),
    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);
View Code

上手操作:

-- 打开图书管理的数据库
use book;

-- 查看库下都有哪些表
show tables;

-- 删除库中原有的表
drop table bookinfo;
drop table bookcategory, readerinfo;

-- 图书类别表
create table bookcategory(
category_id int primary key,
category varchar(20) not null unique,
parent_id int not null
);

-- 图书信息表
create table bookinfo(
book_id int primary key,
book_category_id int,
book_name varchar(20) not null unique,
author varchar(20) not null,
price float(5,2) not null,
press varchar(20) 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(18) primary key,
name varchar(20) not null,
sex enum('','','保密') default '保密',
age tinyint,
tel char(11) not null,
balance decimal(7,3) default 200
);

-- 借阅信息表
create table borrowinfo(
book_id int,
card_id char(18),
borrow_date date not null,
return_date date not null,
status char(11) not null,
primary key(book_id,card_id)
);
View Code
原文地址:https://www.cnblogs.com/helloworld2019/p/10700826.html