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】mysql innodb 配置详解


下一篇:c3p0链接池配置使用