主键  primary   key

创建表时直接加上主键:

create table student1(
id int primary key,

name varchar(20),

age int,

gender char(5)

);

定义列之后在指定主键

create table student2(
id int,

name varchar(20),

age int,

gemder char(5),

primary key(id)
);

修改表时添加主键:

create table student3(

id int,

name varchar(20),

age int,

gender char(5)

);

alter table student3 add primary key(id);

主键自增长:

主键必须是整数类型才可以自动增长

create table student4 (
id int primary key auto_increment,

name varchar(19),

age int,

gender char(5)

);

删除主键:

alter table student4 change id id int; --删除自动增长
DESC student4;
alter table student4 drop primary key;
DESC student4;

修改表时设置自增长

create table student5(

id int primary key,

name varchar(29),

age int,

gender char(7)

);

alter table student5 change id id int auto_increment;

-----删除主键自增长:

alter table student5 change id id int;

-----非空:

create table student6 (

id int primary key auto_increment,

name varchar(20) not null,

age int,

gender char(3)

);

-----唯一:

create table student7(

id int primary key auto_increment,

name varchar(20) unique,

age int ,

gender char(5)

);

添加唯一:

ALTER TABLE 表名 CHANGE name name VARCHAR(30) UNIQUE;

删除唯一:

DROP INDEX 列名 ON 表名;

alter table 表名 drop index 列名;

外键

create table a(

a_id int primary key auto_increment,

name varchar(20) unique not null,

age int,

gender char(5)
);

create table b(

b_id int primary key auto_increment,

name varchar(30),

age int,

gender char(4),

a_id int,

constraint cc foreign key(a_id) references a(a_id)
外键名 外键 谁是外键 参照物 那个表

);

-------修改表指定a s是b 的外键

create table a1(

a_id int primary key,

name varchar(20)
);

create table b1(

b_id int primary key,

name varchar(20),

a_id int
);

alter table b1 add constraint cc foreign key(a_id) references a1(a_id);

-----删除外键约束:

alter table b1 drop foreign key cc;

Mysql主外键的更多相关文章

  1. MySQL 主外键约束与标准SQL不同的地方

    [标准SQL的外键约束条件] 1): 子表引用父表的主键 drop table if exists child,parent; create table if not exists parent( i ...

  2. Mysql 主外键与索引之间的区别和联系

    系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部 ...

  3. 查看mysql主外键信息

    SELECT  *FROMinformation_schema.key_column_usage tWHERE t.constraint_schema = '库名称'AND t.constraint_ ...

  4. MySql不支持主外键

    创建表不支持主外键,能够添加外键成功,但是无法外键约束.查资料发现MySql的默认ENGINE 为MyISAM  ,不支持外键,需要修改为 INNODB 修改前: Create Table CREAT ...

  5. MySQL创建数据表并建立主外键关系

    为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引, ...

  6. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)

    有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...

  7. netcore2.0 ORM框架中如何配置自定义的主外键加载

    环境:netcore2.0 DB :mysql ORM:Ant https://github.com/yuzd/AntData.ORM/tree/netcore2 [给我一个star吧] NUGET: ...

  8. mysql添加外键约束变为索引

    今天有位自己填上一坑:mysql储存引擎 原因就是数据库表引擎为:MyISAM,建立主外键关系需要是InnoDB: 解决方案:alter  table table_name1  engine=inno ...

  9. MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作)

    MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作): a.创建2张表 create table userinfo(nid int not nul ...

随机推荐

  1. C# foreach 值类型及引用类型迭代变量改变的方式

    C#中foreach不能改变迭代变量的值 然而此种说法只适用与值类型,更改值类型时会改变在栈上的内存分布 引用类型由于是引用地址的变更,不影响内存分布,所以能够在foreach中更改 至于引用类型中的 ...

  2. 重新复习~ 为了重新找工作 - > XMLHttpRequest2.0 Jsonp nodeType 节点 webpack基本搭建 闭包的一句话总结

    XMLHttpRequest2.0 1.可以设置超时 (xhr.timeout = 1000; ontimeout()函数) 2.支持FormData对象管理表单数据(new FormData 方法: ...

  3. java 秒时间格式化

    public static String durationFormat(Integer totalSeconds) { if (totalSeconds == null || totalSeconds ...

  4. 常用的数组函数-S

    header('content-type:text/html;charset=utf-8'); //声明一个数组 $arr=['one'=>'aaa','two'=>'bbb','thre ...

  5. Qt5.7.0移植到4412

    搞了几天,终于把Qt5.7移植到4412上,下面是一些自己移植过程中的记录,希望能帮到其他人. 一.需要下载的文件, 下载qt5.7源码qt-everywhere-opensource-src-5.7 ...

  6. Java - Java入门(2-1am)

    第一讲.Java入门 1. 计算机语言是人和计算机进行交互的一种工具,人们通过使用计算机语言编写程序来向计算机施令,计算机则执行程序,并把结果输出给用户. 2. 机器语言:由0.1序列构成的指令码组成 ...

  7. Vue框架是什么,有什么特点,怎么用

    一.Vue基本介绍 1.vue是渐进式的JavaScript框架 2.作者:尤雨溪(一位华裔前Google工程师) 3.作用:动态构建用户界面 二:Vue的特点 1.遵循MVVM模式(m->mo ...

  8. Java的命名规范

    1.类名.接口名:首单词的第一个字母要大写.如果有多个单词,其他单词的首字母要大写. 2.包名:全部小写. 3.变量名.方法名:首单词的第一个字母小写.如果有多个单词,其他单词的首字母要大写. 4.常 ...

  9. 写入一个html文件时的编码要求

    with open("ip.html",'w',encoding='utf-8') as fp: fp.write(response)

  10. echarts绘制k线图为什么写candlestick类型就报错

    错误提示:echarts-en.common.js:11713 Uncaught Error: Component series.candlestick not exists. Load it fir ...