最新公告
  • 欢迎您光临AA分享网,一个高级程序员的学习、分享的分享平台!立即加入我们
  • MySQL数据库是如何建立约束的?如何将MySQL默认编码改为UTF8?

    作为一种开放源代码关系数据库管理系统,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数据库的信息,请继续关注。

    AA分享网一个高级程序员的学习、分享的IT资源分享平台
    AA分享网-企业网站源码-PHP源码-网站模板-视频教程-IT技术教程 » MySQL数据库是如何建立约束的?如何将MySQL默认编码改为UTF8?
    • 277会员总数(位)
    • 6130资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 788稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情