mysql数据库基本操作

[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# mysql -u root -p123.com
修改密码的话 
[root@localhost ~]# mysql -u root -p123.com password 123456 密码从 123.com 改为123456

mysql> show databases;
显示所有数据库
下方为 mysql5.5 自带的四个库

在这里插入图片描述

1、mysql默认安装的4个库

information_schema: 保存关于mysql服务器所维护的所有的其他数据库的信息,例如:数据库库名、数据库中的表名
mysql :记录数据库用户、权限、关键字等,mysql自己需要使用的控制和管理信息;
performance_schema: 5.5版本新增的一个库,用于收集服务器性能参数,且该库中所有的表的存储引擎均为performance_schema
test:测试库,所有用户在test库里都拥有root权限(一般不会存储有用的信息在test库里)

2、创建数据库

2.1、创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理,如果管理员在设置权限的时候,为用户创建了数据库则可以直接使用,否则需要自己创建数据库。

创建数据库的语法:CREATE DATABASE database_name ; (每条命令分号结尾)

“database_name”:要创建的数据库的名称,该名称不能与已经存在的数据库重名 一般小写

mysql> CREATE DATABASE test_db;  创建库 名称为 test_db
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| test_db            |
+--------------------+

2.2、如何移动到已经创建的数据库里面:USE database_name;
2.3、删除数据库:

删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一起被删除,删除数据库语句和创建相似。

语法:DROP DATABASE database_name;
注意:如果数据库不存在 删除会报错
mysql> USE test_db;
Database changed
mysql> DROP DATABASE test_db;
Query OK, 0 rows affected (0.03 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)
你进入database_name时  也可以使用删除数据库 将database_name 删除

3、存储引擎:

3.1、什么是数据库的存储引擎?

数据库的存储引擎是数据库的底层软件组件,数据库管理系统(DBMS)就是依赖存储引擎来对数据表进行创建、查询、更新、和删除操作的。

不同的存储引擎提供了不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持不同存储引擎。

MySQL的核心j就是存储引擎。
3.2、MySQL的存储引擎:

MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在MySQL中,不需要所有的表都是用一种引擎,针对具体的需求可以对每一个表使用不同的存储引擎。

MySQL-5.5版本支持的引擎有:InnoDB 、MyISAM 、memory、CSV等引擎。

查看引擎的命令:SHOW ENGINES\G
mysql> SHOW ENGINES\G
*************************** 1. row ***************************
      Engine: MyISAM                     引擎
     Support: YES
     Comment: MyISAM storage engine      描述
Transactions: NO                         是否支持事务
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: InnoDB
     Support: DEFAULT                     default 默认  表示InnoDB是默认存储引擎
     Comment: Supports transactions, row-level locking, and foreign keys     描述:支持事务 行级别锁定 支持外键
Transactions: YES
          XA: YES                              
  Savepoints: YES
*************************** 3. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
6 rows in set (0.00 sec)
Engine: PERFORMANCE_SCHEMA

引擎名称

Support: YES

MySQL 是否支持这个引擎

Comment: Performance Schema

MySQL对他的评价

Transactions: NO

是否支持事务

XA: NO

是否支持事务的分布式

Savepoints: NO

事务的保存点


☆☆1、MyISAM引擎的特点:

(1)MyISAM 引擎读取速度较快,占用资源相对较少,不支持事务,不支持外键约束,但支持全文索引;
(2)读写相互阻塞,也会是说读数据的时候不能写数据,写的时候不能读数据;
(3)MyISAM引擎只能缓存索引,不能缓存数据;
(4)MySQL-5.5之前的默认存储引擎;

使用场景:

(1)不需要事务支持的业务,例如银行转账就不适合用MyISAM引擎;
(2)适用于读数据较多的业务,不适用于读写频繁的业务;
(3)并发相对较低的(纯读或者纯写的高并发也可以),数据修改相对较少的业务;
(4)硬件资源比较差的机器可以考虑使用MyISAM引擎

★★2、InnoDB引擎的特点:

(1)事务类数据表的首选引擎,支持事务安全表,支持行级别锁定和外键,从MySQL-5.5版本开始的默认引擎;
(2)具有提交、回滚和崩溃恢复能力的事务安全存储引擎,能处理巨大数据量,性能及效率高;
(3)具有非常高效的缓存特性,既能缓存索引,也能缓存数据,对硬件要求比较高;
(4)使用InnoDB时,将在MySQL数据目录 创建一个名为ibdata1的10M大小的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的5M 大小的日志文件

mysql> SHOW VARIABLES LIKE "datadir";
+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| datadir       | /usr/local/mysql/data/ |
+---------------+------------------------+
1 row in set (0.00 sec)

[root@localhost ~]# ls /usr/local/mysql/data/
ibdata1      ib_logfile1                localhost.localdomain.pid  mysql-bin.000001  mysql-bin.000003  mysql-bin.000005  performance_schema
ib_logfile0  localhost.localdomain.err  mysql                      mysql-bin.000002  mysql-bin.000004  mysql-bin.index   test

InnoDB的使用场景:

(1)需要事务支持的业务、高并发的业务;
(2)数据更新较为频繁的业务:比如:BBS、SNS、微博等;
(3)数据一致性要求较高的业务,比如:充值转账、银行卡转账等

3、memory存储引擎的特点:

(1)memory存储引擎将表的数据存储到内存中,为查询和引用其他表数据提供快速访问;
(2)memory存储引擎执行hash和betree索引,不支持BLOB和TEXT列,支持AUTO_INCREMENT列和对可包含NULL值的列的索引;
(3)当不再需要memory表的内容时,应该执行DELETE FROM或TRUNCATE TABLE,或者删除整个表。

DELETE FROM table_name;清空表数据 不清空表空间
TRUNCATE TABLE;清除表数据,同时清空表空间

4、CSV:将数据保存为CSV格式的文件,可以导入到其他数据库中
CSV引擎的特点:

(1)以CSV格式进行数据存储;
(2)所有列必须都是不能为NULL的;
(3)不支持索引;
(4)可以对数据文件进行编辑

5、ARCHIVE :归档,将数据使用zlib进行压缩,被当作仓库使用,一般对他只进行insert(插入)和select(查询)操作,他特别适合长期保存日志文件;

MRG_MYISAM:相当于MyISAM合并版,将多个MyISAM合并为一个

SHOW GLOBAL VARIABLES LIKE ‘%datadir%’; 查询数据存储路径

4、存储引擎的选择

(1)如果要提供提交、回滚和崩溃恢复能力的事务安全能力,并要求实现并发控制,InnoDB是个很好的选择;
(2)如果数据表主要用来插入或者是查询记录,则MyISAM 引擎能提供较高的处理效率;
(3)如果只是临时存放数据,数据量不大,并且不需要j较高的安全性,可以选择将数据保存在内存中的memory引擎,MySQL使用该引擎作为临时表,存放查询的中间结果;
(4)如果只有insert和select操作,可以选择Archive引擎,支持高并发的插入和查询操作,如:记录日志信息
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值