2019-05-18

2019-05-18  本文已影响0人  汗咕嘟

SQL创建表相关

创建表(mysql语法)格式如下:(比如我们要创建一个学生表)

CREATE TABLE Student
(
    s_id    VARCHAR(20) PRIMARY KEY, #这是主键的一种声明方式
    s_name  VARCHAR(20) NOT NULL DEFAULT '', #定义默认值为空字符串
    s_birth VARCHAR(20) NOT NULL DEFAULT '', 
    s_sex   VARCHAR(10) NOT NULL DEFAULT '' #这里不能有逗号
);

Of course, 主键声明可以用如下方式:

#创建课程表
Create TABLE Course
(
    c_id    VARCHAR(20),
    c_name  VARCHAR(20) NOT NULL DEFAULT '',
    t_id    VARCHAR(20) NOT NULL,
    PRIMARY KEY(c_id) #可以使用这种方式声明主键

);

(默认字符集更改1366错误码)解决中文不能输入表的问题

方法(1):

通过命令: mysql> SHOW VARIABLES LIKE 'character%';,查看Mysql默认字符集的相关设置参数值:

+--------------------------+--------------------------------------------------------+
| Variable_name            | Value                                                  |
+--------------------------+--------------------------------------------------------+
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | latin1                                                 |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | latin1                                                 |
| character_set_system     | utf8                                                   |
| character_sets_dir       | /usr/local/mysql-5.7.11-osx10.9-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)

看到创建表时均使用Mysql默认的latin1字符集,而这个字符集显然根本不可能处理中文字符。因此,通过修改Mysql的默认字符集或者在创建数据库、表和表的字段时指定字符集解能决这个问题。

修改Mysql的默认字符集

要使得sql支持中文字符,有下面三种编码方式:
UTF-8 ——支持几乎所有字符
GBK ——支持简体中文及繁体中文
GB2312 ——简体中文
方法如下:
使用mysql的命令:

mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;

修改完成后重启即可。

注意:这种方法只对设置后的表格生效,如果想要插入已存在的表格(未进行编码改动前创建的),则无效,可用下面的方式解决。
方法(2):使用下面的语句来查看目前表格内容的编码:
SHOW FULL COLUMNS FROM 表名
然后如果不是gbk编码,则再运行下面一句进行编码更改:
ALTER TABLE 表名 CONVERT TO CHARACTER SET gbk COLLATE gbk_chinese_ci;
即可解决一个表的编码问题。

上一篇 下一篇

猜你喜欢

热点阅读