数据库的初识
为什么会有数据库?
- 数据库能最大程度的保证数据的安全性
- 数据库可以极大有效率的提高数据的查询与访问
更为合理的管理数据
数据库的有很多种,我们主要的学习mysql数据库。
下面我们来说明学习一下基本使用连接数据库(linux)
安装好mysql数据库后,(未安装请自行百度)我们最开始连接,连接登陆指令
mysql -h 地址 -u 用户 -p 密码
举例:mysql -h 127.0.0.1 -u root -p "root" // 这里采用明密码
也可以: mysql -h 127.0.0.1 -u root -p // 回车后再输入秘密。
这里要注意的是我们在这里用的-h 后面的ip为回环ip,如果在自己的主机上连接我们还可以用
mysql -u root -p
// 回车后输入密码就可以进入,这里默认的ip开始自己的主机ip
如果出现下面的情况
如果你确定安装没有出错,那么就一定是mysql服务没有启动。
所以我们可以用
service mysql start // 来进行启动
service mysql stop // 是用来关闭mysql服务器
我们连接好数据库后:
数据库服务器、数据库、表之间的关系
对于他们的关系我们用一张图来来理解
我们在控制台上就相当与客户端,我们用的时候只需要将用的指令发送给数据库服务器。数据库服务器在接到指令后处理后返回结果。
数据库的基本操作
创建库:
create database 库名字; // 这里一定要注意每条命令后要加分号
例如: create database test; // 这里我们就创建了一个test库
在数据库中添加字符集和校验规则。
// 校验规则*_ci为不区分大小写,*_cs为区分大小写
create database if not exist 库名字 character set 字符集 collate 校验规则;
查看数据库的字符集:
show create database 库名字;
当创建很多库的时候,要在不同库里面添加表,我们就要跳到要使用的库中。
use 库名字
例如: use test // 跳到test这个数据库中,当然前提你要创建好test数据库
查看数据库的库都有那些我们可以用:
show databases; // 这里注意是复数databases
要是想查某一个库里面的表有有哪些
use 库名字;
show tables; // 注意这里也是复数
如下图:
删除数据库
删除数据库一条命令,但是非常关键,应为删除数据库之前一定要备份,不然哭都没办法。数据库备份后面说。
命令:
drop database 库名字;
例如:
drop database test;
前面说了创建数据库,那么怎么来创建数据库下的表呢?
表的创建:
表的创建可以判断数据库中的表是否已经存在,也可以添加表的字符集和校验规则
create table 表名字(列1,列2,···列n); // 先是字段,后是类型
举例子:
// 我们创建的是列Colum有name age ID.
create table t1(name varchar(32), age int , ID varchar(32));
// 我们为了不让创建错误,就是创建已经存在的表名字。可以作为一个警告处理
create table if not exist 表名字(列1, 列2, ···,列n);
举例:
create table if not exist t1(name varchar(32), age int, ID varchar(32));
// 这样我们就可以很好的防止建立相同的表而出错。
表的修改
如果我们创建好表后在用一段时间后发现表名字不合适或者想改表的名字,当然一般表创建好后,一般是不会改变表的名字,但是要知道哦。
alter table 原来的表名字 rename to(as) 新的表名字;
对于创建好的表我们如果要进行列的添加(column)
alter table 表名字 add column 列名字 类型和大小;
举例:
alter table t1 add column image varchar(32);
// 这就表示我们在t1这个表中添加了image类型为varchar这一列。
列的添加那么就会有列的删除
alter table 表名字 drop column 列名字;
那么当我们在使用表的过程中,某一个字段的类型不合适,我们需要修改这个字段的类型
alter table 表名字 modify column 列名字 新的类型;
例如:
alter table t1 modify column image char;
// 我们把上面的image列的varchar类型改成了char类型。
有时候我们可能不只修改类型,我们可能要修改字段名字和类型。
alter table 表名字 change 旧名字 新名字 新类型和大小;
例如:
alter table t1 change name id int;
// 意思就是把t1表下面的name改成id 类型为int。
还有一个表的字符集的修改
alter table 表名字 charset=字符集;
例如:
alter table t1 charset=utf8;
表的删除
一条指令
drop table 表名字;
例如:
drop table t1;
在表中插入数据
创建表后我们进行数据的插入。数据的插入指令为:
// 注意插入的元素顺序要和前面字段中的列保持一致。
insert into 表名字(列1字段, 列2字段, ···, 列n字段) values(列1内容, 列2内容, ···,列n内容);
例如:
insert into t1(name, age, ID) values("ganggang", 20, "123456");
// 上面为我们插入一天信息的情况下,我们还可以一次插入多条信息。
insert into t1(name, age, ID) values("ganggang", 20, "123456"),("gang", 21, "34556");
如果在建立表的时候表内字段不是很多,我们可以用省略表明后字段的方式插入。
// 注意这种方式一定要和创建表时的字段顺序要一样。
insert into 表名字 values(列1内容, 列2内容, ···,列n内容);
// 也可以一次插入多条信息
insert into t1 values("ganggang", 20, "123456"),("gang", 21, "34556");
数据库的备份和恢复
数据库的备份,我用的linux中的数据库,备份很简单,因为我们在安装mysql的时候会有一个可执行文件在叫mysqldump。
一般在/usr/local/mysql/bin里面。
我们备份就很简单。退到linux命令行
// 这里默认了数据库在自己本机上。
mysqldump -u root -p --database 库名字 > 存放的路径加保存的名字
例如:
mysqldump -u root -p --database test > /home/test.sql
// 这样我们就备份好了数据库
我们备份好了,那么要怎么恢复数据库呢?
进到mysql里
// 注意这里最好用全路径
source /home/test.sql;
如有错误,还望指导,谢谢!