1.数据库与文件的对比:
文件存在安全缺陷,不利于数据查询和管理,不利于存储海量数据并且在程序中控制不方便;
数据库存储介质:常放在磁盘和内存中,能更高效的管理数据;
2.连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p;
/*注意:P为端口号,p为密码*/
3.数据库基本操作:
3.1创建数据库
create database db1;
3.2使用数据库
use db1;
3.3创建数据库表
create table student(
id int,
name varchar(4),
gender varchar(2)
);
3.4表中插入数据
insert into student(id,name,gender) values (1,'张三','男');
3.5查询表中的数据
select * from student;
4.SQL分类
- DDL数据定义语言,用于维护存储数据的结构。
代表指令:create,drop,alter - DML数据操纵语言,用于对数据进行操作。
代表指令:insert,delete,update
-----DML中又单独分了一个DQL,数据查询语言,代表指令:select
- DCL数据控制语言,主要负责管理权限与事物。
代表指令:grant,revoke,commit
5.存储引擎
存储引擎:数据库管理系统如何存储数据,如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
存储引擎:MyISAM,InnoDB,Federated,Archive,Merge,Memery,Cluster,Example
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
5.1查看存储引擎:
show engines;
6.库的基本操作
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specification]...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
[]为可选项
CHARACTER SET为指定数据库采用的字符集
COLLATE为指定数据库字符集的校验规则
6.1创建数据库
创建数据库db1:
create database db1;
系统默认字符集为utf8,校验规则:general_ci
//创建一个使用utf8字符集的数据库db2
create database db2 charset=utf8;
//创建一个使用utf8字符集并带校对规则的数据库db3
create database db3 charset=utf8 collate utf8_general_ci;
6.2关于字符集和校验规则
字符集主要是控制数据库用什么语言,例如utf8,gbk等
6.2.1查看系统默认字符集及校验规则
show variables like'character_set_database';
show variables like'collation_database';
6.2.2查看数据库支持的字符集及校验规则
show charset;//字符集
show collation;//校验规则
6.2.3关于校验规则
校验规则分为两种:不区分大小写和区分大小写
//创建一个不区分大小写的数据库db5,其校验规则为utf8_general_ci
create database db5 collate utf8_general_ci;
//创建一个区分大小写的数据库db6,其校验规则为utf8_bin
create database db5 collate utf8_bin;
操作实例如下:
create database db7 collate utf8_general_ci;
use db7;
create table person (name varchar(4));
insert into person values('a');
insert into person values('A');
create database db8 collate utf8_bin;
use db8;
create table person (name varchar(4));
insert into person values('a');
insert into person values('A');
//进行查询
use db7;
select * from person where name='a';
/*查询结果为:
+------+
| name |
+------+
| a |
| A |
+------+
*/
use db8;
select * from person where name='a';
/*查询结果为:
+------+
| name |
+------+
| a |
+------+
*/
6.3操作数据库
//查看数据库
show database;
//显示数据库创建语句
show create database db_name;
//修改数据库[针对字符集和校验规则]
ALTER DATABASE db_name
[alter_spacification [, alter_spacification]...]
alter_spacification;
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
//删除数据库
DROP DATABASE [IF EXISTS] db_name;
//备份数据库
mysqldemp -P3306 -u root -p password -B db_name > 数据库备份存储的文件路径;
/*可以通过打开数据库备份存储的文件查看整个数据库的信息,包括建表,导入数据等的语句*/
//备份数据库中的一张表
mysqldump -u root -p db_name form1 form2 >./db_name.sql;
//同时备份多个数据库
mysqldump -u root -p -B db_name1 db_name2 ... >数据库存放路径
/*备份库时如果没带参数-B,在恢复库时需要先创建空数据库,然后使用数据库,最后用source还原*/
//还原数据库
mysql> source D:/mysql -5.7.22/db_name.sql;
//查看数据连接情况
show processlist;
/*此语句可用于检测数据库登录情况及是否被入侵了*/
以上是MySQL的一些基本操作,欢迎指教与交流