Mysql主外键
主键 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主外键的更多相关文章
- MySQL 主外键约束与标准SQL不同的地方
[标准SQL的外键约束条件] 1): 子表引用父表的主键 drop table if exists child,parent; create table if not exists parent( i ...
- Mysql 主外键与索引之间的区别和联系
系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部 ...
- 查看mysql主外键信息
SELECT *FROMinformation_schema.key_column_usage tWHERE t.constraint_schema = '库名称'AND t.constraint_ ...
- MySql不支持主外键
创建表不支持主外键,能够添加外键成功,但是无法外键约束.查资料发现MySql的默认ENGINE 为MyISAM ,不支持外键,需要修改为 INNODB 修改前: Create Table CREAT ...
- MySQL创建数据表并建立主外键关系
为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引, ...
- Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)
有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...
- netcore2.0 ORM框架中如何配置自定义的主外键加载
环境:netcore2.0 DB :mysql ORM:Ant https://github.com/yuzd/AntData.ORM/tree/netcore2 [给我一个star吧] NUGET: ...
- mysql添加外键约束变为索引
今天有位自己填上一坑:mysql储存引擎 原因就是数据库表引擎为:MyISAM,建立主外键关系需要是InnoDB: 解决方案:alter table table_name1 engine=inno ...
- MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作)
MySQL的外键,修改表,基本数据类型,表级别操作,其他(条件,通配符,分页,排序,分组,联合,连表操作): a.创建2张表 create table userinfo(nid int not nul ...
随机推荐
- Python-接口自动化(七)
requests模块(七) (八)requests模块 1.requests是用python语言编写,属于第三方库,基于urllib,采用Apache2 Licensed开源协议的HTTP库,它比ur ...
- js 中innerHTML,innerText,outerHTML,outerText的区别
开头说下innerText和outerText只在chrome浏览器中有效 定义和用法 innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,包括标签. 来看代码 <!DOC ...
- MySQL数据库--思维导图
MySQL数据库--思维导图
- Mybatis第一天
Mybatis第一天 框架课程 1. 课程计划 第一天: 1.Mybatis的介绍 2.Mybatis的入门 a) 使用jdbc操作数据库存在的问题 b) Mybatis ...
- 考研计算机复试(广东工业大学C语言复试2018笔试题)(精华题选)
1.obj文件是:(二进制文件) 2.函数func(float x){printf("%f",x+x);}的类型是() A.void B.int类型 C.无法确定 3.若有定义:i ...
- OTP gen_server
erlang behaviour小结之gen_server OTP入门 分类: Erlang2012-08-06 18:55 867人阅读 评论(0) 收藏 举报 servererlangcallba ...
- BluePrism初尝
由于对工作的需求,现在开始接触了RPA. RPA是什么?第一次看见这个名词,我脑海里只有RPG的概念.一番查询,才知道是Robotic Process Automation的英文缩写,机器人流程自动化 ...
- Linux集群架构(一)
第二十八课 Linux集群架构(一) 目录 一. 集群介绍 二. keepalived介绍 三. 用keepalived配置高可用集群 四. 负载均衡集群介绍 五. LVS介绍 六. LVS调度算法 ...
- 自己练习的一个小的demo的时候a标签关于href链接的问题
一.Js的几种调用方法(参考总结的) 1.a href="javascript:js_method();" 这是常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且 ...
- .NetCore多文件上传进度的示例
主要讲的内容有: 1-----form方式上传一组图片 2-----ajax上传一组图片 3-----ajax提交+上传进度+一组图片上传 4-----Task并行处理+ajax提交+上传进度+一组图 ...