MYSQL是一种RDBMS(Relational Database Management System:关系数据库管理系统)
RDBMS 术语
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
- 表头(header): 每一列的名称;
- 列(col): 具有相同数据类型的数据的集合;
- 行(row): 每一行用来描述某条记录的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
那么开始学习如何使用数据库吧
在终端使用数据库
1. 首先登陆数据库
在cdm命令窗口下cd到MySQL安装安装目录的bin条目下,
cd C:\Users\20767>cd C:\Program Files\mysql-8.0.11\mysql-8.0.19-winx64\bin
然后登陆MySQL,
mysql -u root -p
2. 如何查询数据库中所有的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.08 sec)
显示库中所有表格
mysql>use RUNOOB;#引入RUNOOB库
mysql>SHOW TABLES;
+------------------+
| Tables_in_runoob |
+------------------+
| runoob_tbl |
| table1 |
+------------------+
2 rows in set (0.03 sec)
3. 创建数据库和数据表
语法如下
CREATE DATABASE 数据库名;
例如 :创造数据库:RUNOOB;
mysql -u root -p
Enter password:****** # 登录后进入终端
mysql> create DATABASE RUNOOB;
会创造也要会删除,使用drop database
删除指定数据库
drop database <数据库名>;
在终端创建数据库和删除数据库:
使用mysqladmin
- 创建数据库 RUNOOB
[root@host]# mysqladmin -u root -p create RUNOOB
Enter password:******
- 删除数据库 RUNOOB
mysqladmin -u root -p drop RUNOOB
Enter password:******
在数据库中创建表格
CREATE TABLE 表格名称 (栏目名称 栏目类型);
例如:我们将在 RUNOOB 数据库中创建数据表table1:
CREATE TABLE IF NOT EXISTS `table1`
(`id` INT UNSIGNED AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`author` VARCHAR(40) NOT NULL,
`date` DATE,
PRIMARY KEY ( `id` ))
ENGINE=InnoDB DEFAULT CHARSET=utf8;
4.如何选择某一数据库进行操作
use 数据库名;
select * form 表名;
例子 从数据库RUNOOB中导入表格 table1;
use RUNOOB;
select * form table1;
5. 插入新的数据表条目
mysql> use table1;
Database changed
mysql> INSERT INTO runoob_tbl
-> (title, author, date)
-> VALUES
-> ("PHP", "张三, NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql>INSERT INTO table1
-> (title, author, date)
-> VALUES
-> ("MySQL", "李四", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql>INSERT INTO table1
-> (title, author, date)
-> VALUES
-> ("python", "王麻子", NOW());
Query OK, 1 rows affected (0.00 sec)
6. 查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
查询建的表格
mysql>select * from runoob_tbl;
+----+--------+-----------+------------+
| id | title | author | date |
+----+--------+-----------+------------+
| 1 | PHP | 张三 | 2020-03-16 |
| 2 | MySql | 李四 | 2020-03-16 |
| 3 | python | 王麻子 | 2020-03-16 |
+----+--------+-----------+------------+
3 rows in set (0.00 sec)
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据 - 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
7.数据类型
- 数值类型
严格数值数据类型
(INTEGER、SMALLINT、DECIMAL和NUMERIC)
近似数值数据类型
(FLOAT、REAL和DOUBLE PRECISION)。
2. 日期和时间类型
表示时间值的日期和时间类型
(DATETIME、DATE、TIMESTAMP、TIME和YEAR)
3. 字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET
今天就暂且到此