1.mysql基本概念环境配置等

1、数据库

  • mysql
  • mysqld
  • 数据库服务端 以特定格式保存的文件,我们叫做数据库
  • 广义:提供较为便捷的数据的存取服务 的软件集合、解决方案 ——mysql数据库

数据库VS文件

  • 文件或者数据库,都可以进行数据的存储。 如果用文件,数据内容的管理工作需要程序员自己做。
  • 数据库的本质:是对文件的内容提供基本的内容操作,不用程序员(用户)手动的进行数据管理。
  • mysql是一个软件层,能帮助用户进行数据管理!!
  • 文件保存数据缺点:安全性问题、不利于数据查询和管理、不利于存储海量的数据、在程序控制不方便。
  • 操作系统在OS层面对数据进行管理,数据库侧重内容管理。
  • 数据库存储性质:磁盘、内存。
  • mysql其实它也是一种“文件系统”。

主流数据库:

  • SQL Sever:微软的产品,中大型项目,.net程序员最爱
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,银行使用较多。
  • MySQL:世界上最受欢迎广泛的数据库、便宜、并发性好、维护人多、活跃、99%互联网公司使用、
  • PostgreSQL: 学术使用较多。
  • SQLite: 轻型数据库 目标是嵌入式,很多嵌入式设备使用
  • H2: java开发的嵌入式数据库,本身只是一个类库,可以直接嵌入到应用项目中。
[root@VM-8-7-centos mysql]# mysql -h 127.0.0.1 -P 3306 -u root -p
[root@VM-8-7-centos mysql]# mysql -uroot -p
 

创建一个数据库在linux上本质是在做什么?

  • 本质是在linux中创建目录和文件。
  • 在mysql中,建立一个表本质是在linux上创建对应的文件!

创建、建表、添加内容等操作如下:

mysql> use 105_db
Database changed
mysql> use 105_db;
Database changed
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| 105_db             |
| mysql              |k
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use 105_db;
Database changed
mysql> slect database();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slect database()' at line 1
mysql> select database();
+------------+
| database() |
+------------+
| 105_db     |
+------------+
1 row in set (0.01 sec)

mysql> create table user(
    -> name varchar(20),
    -> age int
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> show tables;
+------------------+
| Tables_in_105_db |
+------------------+
| user             |
+------------------+
1 row in set (0.00 sec)

mysql> desc user;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> insert into user (name, age) values ('104','10');
Query OK, 1 row affected (0.00 sec)

mysql> desc user;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> insert into user (name, age) values ('105','15');
Query OK, 1 row affected (0.01 sec)

mysql> select * from user;
+------+------+
| name | age  |
+------+------+
| 104  |   10 |
| 105  |   15 |
+------+------+
2 rows in set (0.00 sec)

mysql>  

mysql就是一个client,命令行的client
图形化的访问数据库的软件 --client
mysql的生态中,也会提供第三方库,让语言也能直接访问mysql --client
所谓安装数据库服务器,只是在机器上安装一个数据库管理系统程序。

数据逻辑存储
基于行和列

1.4 MySQL架构

是一个可移植的数据库,几乎能在所有的操作系统上运行。各种系统在底层实现方面各有不同,但是基本上能保证在各个平台上的物理体系结构的一致性。

存储引擎-支持插件式的,可选

1.5 SQL 分类

  • DDL [data definition language] 数据定义语言,用来维护存储数据的结构,代表:create\drop\alter
  • DML【data manipulation language】数据操纵语言,用来对数据进行操作,代表:insert\delete\update
  • DCL 【Data control language】 数据控制语言,主要负责权限管理和事务,代表指令:grant\revoke\commit 整个MySQL的系统安全&&账户管理工作,主动和被动下都是比较可靠的!

1.6 存储引擎

数据库管理系统如何存储数据、如何为存储数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心是插件式的核心
show engines; 展示支持的存储引擎。

2.3 字符集和校验规则

查看系统默认字符集以及校验规则

数据库备份

  1. 对数据做备份。
  2. 对操作语句做备份。
mysql> insert into t1 values (128);
ERROR 1264 (22003): Out of range value for column 'num' at row 1
mysql> insert into t1 values (-127);

mysql如果插入的数据不符合要求,mysql直接终止操作!
数据类型,在mysql这里,符合条件让你操作,不符合条件不让你操作,倒逼程序员必须遵循规则—约束!!
数据类型在mysql这里除了能够满足各种应用场景,还有一个特别重要的用途:数据类型本质就是一种约束!

推荐
docker第一章 架构的演进史

redis

复习:倒着去复习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lihongli000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值