企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
MySQL 是由瑞典MySQL AB 公司开发,目前属于Oracle公司。 MySQL 是最流行的关系型数据库管理系统(Relational Database Management System),即 RDBMS,这种所谓的"关系型"可以理解为"表格"的概念,一个关系型数据库由若干个表格组成。将数据保存在不同的表中,而不是放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL 特点 * 免费开源,使用不需要支付额外的费用。 * 跨平台,可以运行在各个系统上,并且支持多种语言,这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等等。 * 使用标准的 SQL 数据语言形式。 * 支持大型的数据库,可以处理拥有上千万条记录的大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。 * 对 PHP 有很好的支持,PHP 是目前最流行的 Web 开发语言。 * 采用了 GPL 协议,如果有能力可以通过修改源码来定制开发自己的 MySQL 系统。 * * * * * #### 数据库系统 * 数据库系统类似于文件系统,是由文件系统发展过来的。 * 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,相当于文件系统中的文件夹。 * 数据表(Table)是存储数据的集合,由行和列构成,相当于文件系统中的文件。 每个数据库都有一个或多个不同的 API 用于创建、访问、管理、搜索和复制所保存的数据。 我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢,所以现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS 特点? * 数据以表格的形式来组织数据的 * 每行(记录)为一条数据的具体信息(一行多个列字段值) * 每列(字段)为一个字段的不同值(多行的同一个列字段值) * 许多的行和列组成一张表 * 若干的表组成数据库 * * * * * #### RDBMS 术语 * 数据库:一些关联表的集合。 * 数据表:数据的矩阵,在一个数据库中的表看起来像一个简单的电子表格。 * 列:即字段/数据元素,包含了相同的数据, 例如邮政编码的数据。 * 行:即元组/记录,是一组相关的数据,例如一条用户订阅的数据。 * 冗余:存储两倍数据,冗余可以使系统速度更快。 * 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 * 外键:外键用于关联两个表。 * 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 * 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书籍的目录。 * 参照完整性:参照的完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。 * * * * * #### SQL 语句 SQL 是 Structed Query Language 的缩写,即“结构化查询语言”,原名是 sequel,后来因为法律原因改名,现在是国际标准。我们在命令行里敲命令与数据库进行交互,所敲的命令就是 SQL 语句。 * MySQL 对 SQL 标准的支持还是比较完善的,而且进行了一定的扩充,不过也有违背 SQL 标准的地方。 * MySQL 的 SQL 默认不区分大小写。 * * * * * #### 数据库/表基本操作命令 1、数据库 ~~~ show databases; #查看数据库,命令以";"结束,也可以用 \g 或 \G。也可以用 schema 代替 database,是database别名,工程师一般用 database,学术派用 schema。 use db_name #可以不加";" create database db_name; #创建数据库 drop database [if exists] db_name; #删除数据库 show create database db_name; #查看数据库创建语句 ~~~ 2、数据表 ~~~ show tables; #查看表 desc/describe tbl_name; #查看表结构,\G 将原按列改为按行显示。 create table tbl_name( id int(11) default null comment '字段注释', age int ) engine=innodb default charset = utf8; #创建表 drop table [if exists] tbl_name; #删除表 show create table tbl_name; #查看建表语句 ~~~ 3、其他 ~~~ show warnings; #查看警告 ~~~ * * * * * MySQL5.6 之前安装完默认密码为空。 set password for root@'localhost' = password('123456'); flush privileges; #刷新权限 MySQL5.6 之后安装完不能登录,默认root密码问题,需更改密码才能正常使用。 set password = password('123456'); flush privileges; #刷新权限 日常维护命令 1、查看 MySQL 运行进程 mysql>show processlist; 2、查看 Innodb 引擎运行情况 mysql>show engine innodb status\G 3、查看 MySQL 参数情况 mysql>show [global] variables like '%innodb%'; 4、查看 MySQL 运行状态: mysql>show [global] status like '%thread%'; 5、查看表、存储过程、触发器 mysql>show tables; mysql>show procedure status; show create procedure USP_Cursor; mysql>show triggers; show create trigger TRI_UP_User_Delete; 6、查看 MySQL 帮助 mysql>help; mysql>help conntents; mysql>help show;