使用 mysqladmin 删除数据库
关系型数据库的术语:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
- 行:一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
mysql是一个关系型数据库。大家对于他的理解可以抽象为一个execl,其中数据库类似于我们创建的文档。
数据表如同
在每个sheet中我们可以写一些我们想要写的数据
这里模拟数据表中的数据,不难看出:
我们的行是记录了一个个体的数据,如编号为1的行会把小明这个实体的信息记录。
列在下面的表格中如职务,出现的是你的工作的信息,不会出现其他信息如性别,爱好等,
mysql学什么?
- 管理功能
- 库的相关知识
- 表的相关知识
- 查询功能
- 如何加快查询速度
管理功能:
管理功能分为三个部分
- 用户类管理
- 文件管理
- 数据库管理
用户类管理:
创建用户和给予权限,给予的权限取决于mysql可以进行什么类型的服务
文件管理:
这一部分涉及到了基础文件的配置,大部分不适合修改。
但有一些文件是为了方便我们去修改代码,优化代码
如:
log_error
: 错误日志文件的路径。general_log
: 记录所有客户端连接和查询的日志。slow_query_log
: 记录执行时间超过特定阈值的慢查询。log_queries_not_using_indexes
: 记录未使用索引的查询。
这一类在很多时候会是我们去衡量我们设计的数据库是否合理的标准,
如:log_queries_not_using_indexes
: 记录未使用索引的查询。是否可以撤去此条索引,去优化我们的代码
数据库管理:
更多是去查看数据库、数据表、数据表项、索引的内容,方便我们进行编辑
数据库:
连接mysql
每个编程语言连接数据库的方式不一样,可以根据自己的需要去针对性的找需要的,当然也需要查看自己选择的几个版本是否兼容。
进入mysql
mysql -u your_username -p
-u
参数用于指定用户名。-p
参数表示需要输入密码。
进入mysql后,
本层可以实现的基本功能为:
- 查看数据库
- 创建数据库
- 删除数据库
- 使用数据库,"进入"数据库内
- 退出mysql
介绍mysqladmin:
核心语句:
mysqladmin -u your_username -p
在这一个语句后面可以这样写:
创建数据库:
mysqladmin -u your_username -p create your_database
查看状态:
mysqladmin -u your_username -p status
等等,当然核心语句还是mysqladmin -u your_username -p
查看数据库:
SHOW DATABASES;
创建数据库:
核心语句:本语句就是创建一个数据库,
CREATE DATABASE 数据库名;
下面代码:解析存在意义,
其中数据库是否已经被创建我们需要进行判断则可以使用 IF NOT EXISTS
[CHARACTER SET charset_name]和 [COLLATE collation_name];可以指定字符集和排序规则
CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];
mysqladmin创建数据库:
mysqladmin -u your_username -p create your_database
删除数据库:
核心语句:
DROP DATABASE <database_name>;
增加的功能:
IF EXISTS
是一个可选的子句,表示如果数据库存在才执行删除操作,避免因为数据库不存在而引发错误。
DROP DATABASE [IF EXISTS] <database_name>;
使用 mysqladmin 删除数据库
mysqladmin -u your_username -p drop your_database
使用数据库:
USE your_database;
退出mysql:
EXIT;
数据表:
学习表的前提我们需要学习数据类型,就像我们去设计execl时,那一列应该书写什么被划定好了,如:名字哪一列就不会出现数字等等
数据类型:
- 数值类型
- 字符串类型
- 枚举和集合类型
- 时间空间类型
- 空间数据类型
数值类型:
整数型:本质上是int,可以看尾缀进行判断
区别:分配的字节大小不一样,数值范围也不一样。
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 Bytes | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 Bytes | (-32 768,32 767) | (0,65 535) | 大整数值 |
MEDIUMINT | 3 Bytes | (-8 388 608,8 388 607) | (0,16 777 215) | 大整数值 |
INT或INTEGER | 4 Bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
BIGINT | 8 Bytes | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
浮点数:
ps:双精度浮点会更加准确
FLOAT | 4 Bytes | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度 浮点数值 |
DOUBLE | 8 Bytes | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度 浮点数值 |
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
日期时间型:
这一部分根据设计的数据库去设计时间即可。
类型 | 大小 ( bytes) |
范围 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8 | '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' | YYYY-MM-DD hh:mm:ss |