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 ...
随机推荐
- 蒙层嵌套pdf以及连接后台
一.在本地浏览pdf(直接将element-dialog 和 iframe相结合)需要将要浏览的pdf放入static文件夹下面 <el-button type="text" ...
- springboot解决文件上传大小限制
(1)在配置文件(application.properties)加入如下代码 springboot2.0以下配置为: spring.http.multipart.maxFileSize = 10Mb ...
- PHP用post来进行Soap请求
最近调了一个Soap请求C# webservice的项目.网上坑不少. 使用原生的SoapClient库请求也是失败.只好用post来进行模拟了.代码贴出来,给大家参考一下. <?php nam ...
- 蓝图Blueprint
---恢复内容开始--- 蓝图: flask模块化处理操作和URL的方式 作用: 将不同的功能模块化,实现模块化应用 构建大型应用 优化项目结构 使用步骤 创建蓝图对象 对蓝图对象进行操作(注册路由; ...
- java -jar启动java项目时,引用不同配置文件命令
java -jar eureka-server.jar --spring.profiles.active=peer1
- 俄罗斯方块win c 图形线程
环境准备:visual stdio 2015,easyx, //
- CentOS7基本配置一
CentOS7基本配置一 安装VMwareTools 1.点击重新安装VM-tool, 继而找到压缩文件VMwareTools-10.2.0...tar.gz,复制到桌面下,解压这么压缩文件到桌面下 ...
- MySQL数据库需进行修改密码问题解决方案
两种方式可供大家进行参考: 第一种: 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1.给root加个密码pass123: 首先在DOS下进入目录mysql\bin,然 ...
- hadoop.docker.up.problems: Too many levels of symbolic links
#root@c7hp:~ excp c78 "zkServer.sh start"[1] 11:49:44 [FAILURE] c78 Exited with error code ...
- 搭建项目(Vue学习笔记一)
一.在搭建Vue项目之前首先要搞明白以下几个问题 1.Vue.js是什么 vue.js是一个脚本库. 2.webpack 模块打包机,分析项目结构,找到JavaScript模块以及其他的一些浏览器不能 ...