MySQL創建數據庫和表


創建庫

常用sql語句

# 創建一個數據庫teachers,不指定字符集,默認拉丁
CREATE DATABASE blog;

# 創建數據庫,並指定默認字符集為utf8,注意utf8沒有'-'
> CREATE DATABASE blog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 創建庫時判斷是否存在
> CREATE DATABASE IF NOT EXISTS blog;

# 查看全局變量中定義的各個字符集的語言
> SHOW GLOBAL VARIABLES LIKE '%char%';

# 修改表字符集
> ALTER TABLE blog CONVERT TO CHARACTER SET utf8;

# 設置字符集語言為utf8
> CHARACTER SET utf8

# 更改數據庫默認字符集
> ALTER DATABASE blog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 更新升級數據字典
update data directory NAME;
# 數據字典:system catalog:保存了數據庫服務器上的元數據,通過數據庫保存

# vim /etc/my.cnf
"""
[client] # 修改客戶端字符集
default-character-set=utf8

[mysqld] # 修改服務端字符集
default-character-set=utf8 # 5.1- 版本
character-set-server=utf8 # 5.5+ 版本
"""

# 查看所有庫
mysql> SHOW DATABASES;

# 查看數據庫信息
mysql> SHOW CREATE DATABASE teachers;

# 查看字符集
mysql> SHOW VARIABLES LIKE 'character%';

# 修改數據庫字符集
mysql> ALTER DATABASE db_name CHARACTER SET utf8;
# service mysqld restart

# 修改表字符集
mysql> ALTER TABLE table_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 備份所有庫和表-all-databases
mysqldump -uroot -p -all-databases > backupname1.sql

# 備份指定庫指定表
mysqldump -uroot -p db_name1 table_name1 table_name2 > backupname2.sql
mysqldump -uroot -p --databases db_name1 db_name2 db_name3 > backupname3.sql

# 刪除數據庫:
mysql> drop database db_name;
mysql> drop database if exists db_name;

# 還原所有庫
# mysql -uroot -p < backupname1.sql

# 還原指定庫的備份表
# mysql -uroot -p db_name1 < backupname2.sql

修改已有數據的庫的字符集,需要將數據線導出,修改完后,再導入

比如:當前字符集latinl,要修改為utf8

1,導出庫及表結構

2,sed批量修改導出文件的字符集為utf8

3,導出所有的數據

4,修改mysql服務端和客戶端字符編碼為utf8

5,刪除庫和表

6,導入庫及表結構

7,導入數據

創建授權用戶

mysql> SELECT user,host,password FROM mysql.user;
mysql> DELETE FROM mysql.user WHERE user='';
mysql> DELETE FROM mysql.user WHERE host='::1';
mysql> USE mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"localhost" IDENTIFIED BY "123456";
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"127.0.0.1" IDENTIFIED BY "123456";
mysql> GRANT ALL PRIVILEGES ON blog.* TO 'bloguser'@"%" IDENTIFIED BY "blogpwd";
mysql> FLUSH PRIVILEGES;
> \q


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM