MEMO MySQL
From KuWiki
Contents |
Account Management
Character Set
Database
mysql> CREATE DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
mysql> ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
Table
mysql> CREATE TABLE tbl_name (column_list)
[DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]]
mysql> ALTER TABLE tbl_name
[DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]
Charsets
- utf8
- latin1
- big5
Collations
- utf8
- utf8_general_ci
- utf8_bin
- utf8_unicode_ci
- latin1
- latin1_general_ci
- latin1_bin
- big5
- big5_chinese_ci
- big5_bin
Show columns charset
mysql> SHOW FULL COLUMNS FROM tbl_name FROM db_name
Changing columns charset
MySQL doesn't provide any convenient way to do this. (as I know)
Dump the database.
$ mysqldump [-u <<user>>] [-p] <<database>> >file.sql
Converting the charset of the dumped file. (optional)
$ mv file.sql file.sql.orig $ iconv -f latin1 -t utf8 file.sql.orig >file.sql
Edit the dumped file.
$ sed -i 's/latin1_bin/utf8_general_ci/g; s/latin1/utf8/g;' file.sql
Commit the modified sql file.
mysql> source file.sql
or
$ mysql [-u <<user>>] [-p] <file.sql
Miscellaneous
Dumping the databases
$ mysqldump [-u <<user>>] [-p] <<database>> >file.sql
Execute SQL files
mysql> source file.sql
or
$ mysql [-u <<user>>] [-p] <file.sql

