msq_table's methods2
-- 删除数据 自增长id被占用
-- 清楚所有数据并重置id 1truncate table name;

-- 主键(唯一) id int primary key;-- 主键内容不能重复,不能为空create table test(id int primary key auto_increment,        -- auto_increment  自增长name varchar(10) not null,age char(5)
);

-- 删除 主键 有自增长需要先删除自增长 通过change改变该字段的自增长属性

alter table student change id id int not null;

alter table test drop primary key;

-- 复合主键create table test(id int;name varchar(10) not null,age char(5) null,primary key(id,name,age)
);-- 只要是张表 都有id字段 通常只要存在id字段 ,那么基本上是主键-- 自增 配合主键id使用 auto_increment
create table test(id int primary key auto_increment;name varchar(10) not null,age char(5) null,
);-- 唯一键 unique key-- 表里没有主键时,设置唯一键会显示主键的标志 PRI,但他本质还是唯一键  
-- 删除唯一键
alter table test drop index `name`;  -- name为字段名字
create table test(name varchar(10) unique key ,   -- name 不能重复 要求唯一了age char(5)
);create table test(name varchar(10),   -- name 不能重复 要求唯一了age char(5),unique key 'uni_name'(name)
);
-- 外键 foreign key 关联两张表的

-- 外键删除
alter table foreign_key drop foreign key `外键名`;  -- 外键名通过查看建表过程

外键的几种模式
* `restrict` 默认
* `cascade` 级联
* 父表更新 子表更新 父表删除 子表删除
* `set null` 置空
* 父表更新 子表置空 父表删除 子表置空 (前提 支持为空)

 
create database test;
use test;create table student(id int primary key auto_increment,name varchar(20) not null,gender char(15) not null);create table course(id int primary key auto_increment,name varchar(20));insert into student(name,gender) values('Which','male');
insert into student(name,gender) values('Tuple','male');
insert into student(name,gender) values('Rose','female');insert into course values(1,'Python');
insert into course values(2,'Web');
insert into course values(3,'Java');create table mark(id int,stu_id int,course_id int,score int not null,primary key(id,stu_id,course_id),constraint FK_ha foreign key(id) references course(id),  -- 设置外键的名字foreign key(course_id) references student(id));-- 外键名字通过 show create table mark; 查看insert into mark values(1,1,1,99);
insert into mark values(2,1,2,98);
insert into mark values(3,2,1,60);
insert into mark values(3,3,2,99);
mysql> select * from student;
+----+-------+--------+
| id | name  | gender |
+----+-------+--------+
|  1 | Which | male   |
|  2 | Tuple | male   |
|  3 | Rose  | female |
+----+-------+--------+
3 rows in set (0.00 sec)mysql> select * from course;
+----+--------+
| id | name   |
+----+--------+
|  1 | Python |
|  2 | Web    |
|  3 | Java   |
+----+--------+
3 rows in set (0.00 sec)mysql> select * from mark;
+----+--------+-----------+-------+
| id | stu_id | course_id | score |
+----+--------+-----------+-------+
|  1 |      1 |         1 |    99 |
|  2 |      1 |         2 |    98 |
|  3 |      2 |         1 |    60 |
|  3 |      3 |         2 |    99 |
+----+--------+-----------+-------+
4 rows in set (0.00 sec)

 

posted on 2017-12-23 20:30 .Tang 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/tangpg/p/8094328.html

msq_table's methods2相关推荐

  1. msq_table's methods

    msq_table's methods -- 查看有哪些用户 host: % 代表任意地址都可以登录 host: localhost 代表仅本地可以连接select host,user from my ...

  2. 反射setaccessible_反射技术

    反射机制作用 动态的加载类.动态的获取类的信息(属性,方法,构造器) 动态构造对象 动态调用类和对象的任意方法.构造器 动态调用和处理属性 获取泛型信息 处理注解 获取Class对象的方式有哪些? 1 ...

  3. javascript优缺点_为什么要在JavaScript中使用静态类型? 优缺点

    javascript优缺点 by Preethi Kasireddy 通过Preethi Kasireddy 为什么要在JavaScript中使用静态类型? 优缺点 (Why use static t ...

  4. 【Groovy】编译时元编程 ( 利用注解进行 AST 语法树转换 | 定义注解并使用 GroovyASTTransformationClass 注明 AST 转换接口 | AST 转换接口实现 )

    文章目录 一.利用注解进行 AST 语法树转换 1.定义注解并使用 GroovyASTTransformationClass 注明 AST 转换接口 2.AST 转换接口实现 3.定义 Groovy ...

  5. 【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )

    文章目录 一.在 MyASTTransformation#visit 方法中进行方法注入 1.使用 new AstBuilder().buildFromSpec 进行方法注入 2.使用 new Ast ...

  6. java class.getmethod_java反射之Class.getMethod与getDeclaredMethods()区别

    Class对象的getMethods和getDeclaredMethods都是获取类对象的方法.但是又有所不同.废话不多说, 先看demo packagecom.westward;public cla ...

  7. 张志华 机器学习 两门课程正确顺序及视频连接

    Note: 网上视频教程的顺序都是有错误的,查证后再看,不然心乱.. 1.统计机器学习 视频连接 视频顺序: 序号 名称 01. 概率基础 02. 随机变量1 03. 随机变量2 04. 高斯分布 0 ...

  8. 关于Java你不知道的那些事之Java注解和反射

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:轻 ...

  9. Java之反射代码演示说明

    还不存在的类–即我们需要使用反射来使用的类 Person类: package com.qf.demo4;public class Person {private String name;public ...

最新文章

  1. ssl握手过程和ca证书验证
  2. Ubuntu双系统Grub启动菜单修复
  3. caioj 1158 欧拉函数
  4. 软件质量保证与测试——Ad hoc Test
  5. 一步步部署基于Windows系统的Jenkins持续集成环境
  6. Python 中的全局变量
  7. ASP.NET MVC3 及其学习资源
  8. 2019-07-11 nginx 下网页显示乱码
  9. mysql between 边界
  10. STM32 CANFD 基础知识
  11. ENGLISH-剑桥-朗文-柯林斯-韦氏dictionary
  12. 反射+自定义属性拼接sql
  13. 【寻找最佳小程序】01期:影视评分小工具“豆瓣评分”——产品设计要点及专家评析
  14. 每天一句英语(有道)
  15. 线性代数(numpy.linalg)
  16. 【SeedLab】Packet Sniffing and Spoofing Lab
  17. When inserting 1, 2, 3, 6, 5, and 4 one by one into an initially empty AVL tree,which kinds of rotat
  18. matlab输出多个参数到表格固定列,matlab将excle的列提取出来?如何使用Matlab提取Excel中指定列的数据?...
  19. mysql insert 阻塞_insert遭遇阻塞
  20. Linux安装Googlepinyin

热门文章

  1. 计算机语言中的次方,浅谈Go语言中的次方用法
  2. curviloft插件怎么用_紫天学习星球教学:Curviloft (曲线放样) 插件完全功能讲解 (中文)...
  3. C++ callback函数
  4. SPOJ KGSS Maximum Sum (线段树)
  5. STM32 FSMC 详解
  6. 【机器视觉】基础知识---相机篇
  7. 烽火运维-20180830day
  8. Windows重启网络
  9. 你知道程序员为什么喜欢格子衫吗?原来是因为.......
  10. python的ubuntu环境怎么配置_Ubuntu Python 环境配置