主键  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. Forth 编译程序

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  2. 记一次用express手写博客

    1.req.session时一直是undefined 解决方法: // sesssion应用的配置 app.use(session({ secret:'blog', cookie: ('name', ...

  3. C++之 自定义数据类型 枚举、结构体、共用体

    1.枚举 枚举类型的声明形式为:   enum  枚举类型名   {  变量值列表 };    变量值列表里都是整型变量,另外不要忘记最后面的分号! 比如,enum  weekday   { sun, ...

  4. tomcat8常用配置说明

    链接:https://www.jianshu.com/p/8b1c75951f70 2.tomcat8运行期错误HTTP头解析错误 修改tomcat的server.xml中的中配置  设置为8k &l ...

  5. 初写Linux脚本坑记录

    1.为变量赋值时=前后一定没有空格. 2.赋值时变量为xx,读取才是$xx.如赋值是$xx,则报语法错误.参考 http://www.jb51.net/article/52375.htm 3.脚本每句 ...

  6. Main Steps to Setup an ODI data sync

    0. Get ODI installed 1. Topo physical Architecture/new physical schema 2. New Logical schema 3. New ...

  7. 递归----Python

    #递归不仅仅是学习python中会遇到的一些问题,在学习每一个语言的过程中都会遇到递归.使用递归可以让复杂的循环变得简单. 递归:程序调用自身的行为 1.写一个数的阶乘 #递归 def factor( ...

  8. There/Here be句型

    (1)There/Here + (be)根据上下文, 有多种翻译方法,可以翻译成"有", "是". be动词根据后面的名词有单复数变化. There is a ...

  9. Problem 6: Sum square difference

    The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of ...

  10. OpenGL之shader着色器的应用,三色渐变的三角形

    学习自: https://learnopengl-cn.github.io/01%20Getting%20started/05%20Shaders/#_7 首先放一张效果图: 本次教程,将着色器单独定 ...