データベースによるデータ管理 | 東京大学グローバル消費インテリジェンス寄附講座 でMySQLのsql文の中に『ENGINE=InnoDB DEFAULT CHARSET=utf8 ;』って出てきたので気になって調べてみました。
InnoDB(イノデービー)はMySQLのためのデータベースエンジンであり、MySQL ABが配布している全てのバイナリに標準搭載されている。MySQLと使用できる他のデータベースエンジンに対する改良点として、PostgreSQLに似たACID互換のトランザクションに対応していることがある。また、外部キーもサポートしている。(これを宣言的参照整合性という)
InnoDBはトランザクションに対応したデータベースエンジンということらしい。
運用視点なMyISAMとInnoDBと。 | LexTech
⇩「データベースエンジン(ストレージエンジン)」に関しては下記サイトが詳しいです。
MySQLの「InnoDB」と「MyISAM」についての易しめな違い | Programming log - Shindo200 イベント参加記録とプログラミング系の雑記
⇩「ロック」に関して
MySQL InnoDBの行レベルロック | There's an echo in my head
⇩「ストアドプロシージャ」「ストアドファンクション」に関して
はじめてのMysqlストアドプロシージャ・ストアドファンクション
(※ストアドプロシージャはMySQLバージョン5.0から使えるようになったそうです。それまではPostgreSQLでしか使えなかった機能だそうです。)
いろいろ脱線してしまいましたが、そして、難しいことは分からないですが、
mysql> CREATE TABLE tweets (
tweet_id BIGINT,
user_id BIGINT,
text LONGTEXT,
created_at DATETIME
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
『ENGINE=InnoDB DEFAULT CHARSET=utf8 ;』はMySQLの『データベースエンジン』を『InnoDB』にして『デフォルトの文字コード』を『UTF-8』にして処理するってことだと思います。
⇩ 下記サイトはMySQLの高度なテクニックを解説してるようです。