今天看啥  ›  专栏  ›  假装学技术

MySQL数据库基础讲解

假装学技术  · 简书  ·  · 2020-03-04 15:09

简介

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可证之下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

数据库安装教程

Mysql数据库安装语句

1.sudo apt-get install mysql-server

2.sudo apt-get install mysql-client

3.sudo apt-get install libmysqlclient-dev

mysql是否安装成功:

sudo netstat -tap | grep mysql

或者

sudo ss -tap | grep mysql


基础知识

一、数据库连接方式

格式: mysql -h 主机地址 -u 用户名 -p 用户密码

找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好mysql,root是没有密码的,故直接回车即可进入到MySQL中,MySQL的提示符是:mysql>

二、MySQL数据库启停

#启动数据库

service mysql start

#停止数据库

service mysql stop

重启数据库

service mysql restart


三、MySQL数据库密码修改

1、更改密码

mysql -uroot -p

Enter password: *****

mysql> use mysql; #选择数据库

Database changed

mysql> UPDATE user SET password=PASSWORD("新密码") WHERE user='用户名';

#update user set authentication_string=password("新密码") where user='用户名';

mysql> FLUSH PRIVILEGES; #flush privileges

mysql> quit;


2、更改用户名

mysql -uroot -p

Enter password: *****

mysql> use mysql; #选择数据库

Database changed

mysql> update user set user="新用户名" where user="root"; #将用户名为root的用户的用户名改为新用户名

mysql> flush privileges; #刷新权限

mysql>exit;


四、数据库备份

1、mysqldump工具备份

mysqldump -u root -h host -p dbname > backup.sql

1

常见选项 作用

-u 用户名

-p 密码

-P 端口号,默认为3306

-all-databases,-A 备份所有数据库

-databases,-B 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldump把每一个名字都当作为数据库名。

-d 只导出数据库的表结构

-t 只导出数据库的数据

–quick,-q 快速导出

–xml,-X 导出为xml文件


常见用法

#1、备份全部数据库的数据和结构(-A)

mysqldump -uroot -p123456 -A > backup.sql

#2、备份全部数据库的结构(-d)

mysqldump -uroot -p123456 -P3306 -A -d > backup.sql

#3、备份全部数据库的数据(-t)

mysqldump -uroot -p123456 -P3306 -A -t > backup.sql

#4、备份单个数据库的数据和结构(database为数据库名)

mysqldump -uroot -p123456 -P3306 database > backup.sql

#5、备份单个数据库的数据(-d)

mysqldump -uroot -p123456 -P3306 database -d > backup.sql

#6、备份单个数据库数据(-t)

mysqldump -uroot -p123456 -P3306 database -t > backup.sql

#7、备份多个表的结构和数据(table1,table2为表名)

mysqldump -uroot -p123456 -P3306 database table1 table2 > backup.sql

#8、一次备份多个数据库

mysqldump -uroot -p123456 --databases db1 db2 > backup.sql


五、 数据库还原

1、系统命令行

mysqldump -uroot -p test < backup.sql #绝对路径

Enter password:123456

Test:需要备份的数据库

Test:备份的名称


2、source方法

mysql> use db

mysql> source backup.sql #绝对路径


数据库增删改查

1、操作数据库

(1)对数据库(文件夹):进行增加操作

create database 库名;

例如:create database test;

查询库:show databases;


(2)对数据库(文件夹):进行删除操作

drop database 库名;

例如:drop database test;


(3)对数据库(文件夹):进行改操作

#更改数据库字符集

alter database 库名 charset 编码集;

例如: alter database test charset gbk;


(4)对数据库(文件夹):进行查操作

查看建库信息:show create database 库名;

例如:show create database test;


2、操作表

(1)对表(文件):进行增加操作

create table user (id int,name char(10);

查询:show tables;


(2)对表(文件):进行删除操作

drop table 表名;

例如:drop table user;

show tables;


(3)对表(文件):进行改操作

alter table 表名 modify 字段名 数据类型;


#更改字段名和数据类型change

alter table 表名 change 字段名 新字段名 数据类型;


#更改表名rename

alter table 表名 rename 新表名;


#增加字段add

alter table 表名 add 新字段名 数据类型;


#删除字段drop

alter table 表名 drop 字段名;


(4)对表(文件):进行查操作

#查看建表语句:

show create table 表名;


#查看表结构

desc 表名;


3、操作记录

(1)对记录(文件内容):进行增加操作:

INSERT INTO table_name(可指定字段,也可以不指定字段但是要与之对应) values('value1','value2','value3');


(2)对记录(文件内容):进行删除操作

#delete 清除数据但是保留id号

delete from 表名;(此时若是在insert id会接续之前的id号往下排,也可以自己指定id)

例如 delete from users;

查询 select * from users;

结果 Empty set (0.00 sec)

插入 insert into users values('null','admin','admin');

再次查询 select * from users;

# turncate 清除数据不保留id号


(3)对记录(文件内容):进行改操作:

update users set username="test" where id = 1;

update table 表名 set 字段=值 where 条件;(要加条件否则字段的值会全部改变)

or

update 库名.表名 set 字段=值 where 条件;

update users.name set name='test' where id = 1;


(4)对记录(文件内容):进行查操作:

select * from table_name;

select * from db_name.table_name;


至此,MySQL数据库基础讲解就到这里了,写作不易,还望支持。

2020-03-03

ro4lsc




原文地址:访问原文地址
快照地址: 访问文章快照