MySQL数据库是如何建立约束的?如何将MySQL默认编码改为UTF8?

作为一种开放源代码关系数据库管理系统,MySQL数据库占据了中小型数据库应用程序市场的一半。 在高峰期,全球超过70%的网站后端使用MySQL数据库。因此很多人都想转行MySQL数据库,但是做MySQL数据库一般都会面临很多问题,例如MySQL数据库是如何建立约束的?如何将MySQL默认编码改为UTF8?下面我们就来解决一下这两个问题。

MySQL数据库是如何建立约束的?如何将MySQL默认编码改为UTF8?_业界动态_数字化

 MySQL数据库是如何建立约束的?

MySQL数据库建立约束有两种方法,第一种:创建表的时候,第二种:建表完成之后,下文是详细介绍。

 第一种:创建表的时候

create table table_name(

列名1 数据类型 (int) primary key auto_increment,

列名2 数据类型 not null,

列名3 数据类型 unique,

列名4 数据类型 default '值',

constraint 索引名 foreign key(外键列)references 主键表(主键列)

on delete cascade | on delete set null

)

 第二种:建表完成之后

 1.主键约束

添加:alter table table_name add primary key (字段)

删除:alter table table_name drop primary key

 2.非空约束

添加:alter table table_name modify 列名 数据类型 not null

删除:alter table table_name modify 列名 数据类型 null

 3.唯一约束

添加:alter table table_name add unique 约束名(字段)

删除:alter table table_name drop key 约束名

 4.自动增长

添加:alter table table_name modify 列名 int auto_increment

删除:alter table table_name modify 列名 int

 5.外键约束

添加:alter table table_name add constraint 约束名 foreign key(外键列)

references 主键表(主键列)

删除:

第一步:删除外键

alter table table_name drop foreign key 约束名

第二步:删除索引

alter table table_name drop index 索引名

[^1]:

约束名和索引名一样

 6.默认值

添加:alter table table_name alter 列名 set default '值'

删除:alter table table_name alter 列名 drop default

如何将MySQL默认编码改为UTF8?

windows:

a. WIN+R net stop mysql 关闭mysql服务

b. 复制my-dafault.ini,重命名为my.ini,进入里面

UBUNTU:

** sudo vim /etc/mysql/my.cnf **进入

 执行以下操作:

 1、在[client]字段里加入default-character-set=utf8,如下:

[client]

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

 2、在[mysqld]字段里加入character-set-server=utf8,如下:

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

character-set-server=utf8

 3、在[mysql]字段里加入default-character-set=utf8,如下:

[mysql]

no-auto-rehash

default-character-set=utf8

修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。

注: show variables like 'character%' 可查看mysql编码方式,修改完成后是这样的:

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

上述就是关于MySQL数据库是如何建立约束的,以及如何将MySQL默认编码改为UTF8的全部内容介绍,想了解更多关于MySQL数据库的信息,请继续关注。

33
175
0
21

相关资讯

  1. 1、单日票房低至4.24万,这部好莱坞大片因为中国元素亏的有点惨1051
  2. 2、国产片躲来躲去12月有点挤业内:今年还算平和5023
  3. 3、本阿弗莱克影评人协会获大奖激动谢错主办方3247
  4. 4、叶祖新孙耀琦携手《隋唐4》演绎虐心山花之恋4501
  5. 5、许光汉章若楠《你的婚礼》演绎“追爱15年”故事3005
  6. 6、《他在逆光中告白》尖叫收官:磕到了!锁死了!这对CP我们站定了!3115
  7. 7、还记得周星驰电影《西游》周秀娜吗?如今新剧搭档张智霖黄宗泽_普通话3170
  8. 8、咦!丨章子怡主演《上阳赋》将播,正午阳光《山海情》定档4746
  9. 9、49岁许晴素颜出镜,颜值仍堪比少女,绯闻不断却一直单身1522
  10. 10、“花儿”助阵昆仑文化艺术节神秘主持疑似李响4440
全部评论(0)
我也有话说
0
收藏
点赞
顶部