MySQL 是一款流行的关系型数据库管理系统,是由瑞典 MySQL AB 公司开发的,该公司的创始人为 Michael Widenius、David Axmark 和 Allan Larsson。MySQL 使用了 C 和 C++ 语言进行开发。
/* 以下是 MySQL 的源代码中的 C++ 代码片段 */void handler::set_field(Field *field, String *str){if (!is_open()) return;if (field->is_null()){if (null_bitmap)null_bitmap->set_bit(next_field_num,1);}else{if (null_bitmap)null_bitmap->clear_bit(next_field_num,1);if (use_blob_fields &&field->type() == MYSQL_TYPE_BLOB &&gptr()){gptr()->length= (ulong)strlen((char*)str->ptr());*(gptr()->blob_pos)=0;if (field->pack_length() !=(ulonglong) row_pack_length &&update_record(row_pack_length)){DBUG_PRINT("info", ("Failed to update record"));error=1;}else{field->set_notnull();error= gptr()->write(str->ptr(), (uint)gptr()->length);}return;}if (gptr()){if (need_copy_data){my_free(gptr(), MYF(MY_WME));set_fields_length(0);}else if (gptr()->alloced_size< str->length()){gptr()->truncate();field->set_warning(ER_WARN_DATA_TRUNCATED);}}elsealloc_fields_length((uint)(str->length()));if (!gptr())error= 1;else{error= gptr()->write(str->ptr(), (uint)str->length());if (error == 0)field->set_notnull();}}next_field_num++;}
从代码片段可以看出,在处理数据库中的字段时,MySQL 使用了 C++ 语言,而在网络通信、锁和线程调度等方面则使用了 C 语言。