最新新闻,最快送达

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

  • 发布时间:2020-09-16
  • 来源:中培教育网

  作为一种开放源代码关系数据库管理系统,MySQL数据库占据了中小型数据库应用程序市场的一半。 在高峰期,全球超过70%的网站后端使用MySQL数据库。因此很多人都想转行MySQL数据库,但是做MySQL数据库一般都会面临很多问题,例如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数据库的信息,请继续关注中培教育。

近期开班

phone
全国报名服务热线: 400-626-7377
合作伙伴
  • 国际APMG组织
  • 思科(Cisco)
  • 国际OPEN GROUP组织
  • 国家外专局培训中心
  • 上海银行
  • 中国石油管道局工程有限公司
  • 朗新科技
  • 中国国家博物馆
金牌客户
  • 中国石油天然气集团公司
  • 中国农业银行
  • 中国建设银行
  • 波司登集团
  • 浙江移动
合作机构
  • 美国项目管理协会
  • 人力资源和社会保障部
  • 中华人民共和国工业和信息化部
  • 中国计算机技术职业资格网
  • CITIF中国电子信息行业联合会
  • PEOPLECERT
微信公众号
公众号

微信号:zpitedu

  • 中培教育 Copyright © 2006-2020 北京中培伟业管理咨询有限公司 .All Rights Reserved
  • 京ICP备13024721号  gonganimg  京公网安备11010602007294号  增值电信业务经营许可证:京B2-20201348  全国统一报名专线:400-626-7377