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;
即可解决一个表的编码问题。
网友评论