笔记2:MYSQL 表操作
一.表约束
1.非空约束:not null
作用:定义表的某一列不能为空。
>> alter table 表名 modify 列名 int not null; "添加非空约束" >> alter table 表名 modify 列名 int; "取消非空约束"
2.唯一约束:uniqe key
作用:确定某一列不能存在相同的值。
>> alter table 表名 add unique key(列); "添加唯一约束" >> alter table 表名 drop key 列; "取消唯一约束"
3.主键约束:primay key
作用:列中唯一标识一条数据,每张表里面只能有一个主键;主要是帮助MYSQL更快的查找某一条信息。
特征:非空并唯一,当表里没有主键的时,默认第一个出现的非空并唯一的列就是主键。
>> alter table 表名 add primary key(列); "添加主键约束" >> alter table 表名 drop primary key; "取消主键约束"
4.外键约束:foreign key
作用:保持数据的一致性,减少数据冗余,实现一对多关系。外键一般关联另一张表的主键。
>> alter table 需要外键的表 add constraint 外键名 foreign key(需要外键表的字段名) referencnes 关联表名(关联字段名); "添加外键约束"(注意:外键名不能重复)>> alter table 存在外键的表 drop foreign key 关联字段名; "删除外键约束"
5.自增长约束:auto_increment
作用:自动编号。一般与主键组合使用。一个表里面只有一个自增,默认情况下起始值为1,每次增量为1
>> alter table 表名 modify 列 int auto_increment; "添加自增长约束">> alter table 表名 modify 列 int; "删除自增长约束"
6.默认约束:default
作用:没有插入数据时,自动赋予默认值。
>> alter table 表名 modify 列 int default 默认值; "添加默认约束" >> alter table 表名 modify 列 int; "删除默认约束"
二.表关系
1. 一对一关系:
例:2张表通过主键进行关联。 学生信息表:学生表=1:1
#建立学生信息表:
create table student_details(
id int primary key,
sex varchar(20) not null,
age int,
address varchar(20) comment '家庭住址',
parents varchar(20),
home_num varchar(20),
foreign key (id) references student(s_id)
);
2.一对多关系
例:2张表通过外键进行关联。 学生表:学院表=n:1
##创建学生表 create table student( s_id int primary key auto_increment, # 学生id s_name varchar(20) not null, # 学生名字 dept_id int not null, # 所属学院 id constraint SD_id foreign key(dept_id) references department(d_id) #外键 );
#创建学院表 create table department( d_id int primary key auto_increment, # 学院id d_name varchar(20) not null # 学院名 );
3.多对多关系
例:通过创建中间表进行关联 。 学生表:课程表=m:n
#建立课程表:
create table cours(
cours_id int primary key auto_increment,
cours_name varchar(20) not null
);
# 选课表 (中间表)
create table `select`(
s_id int, #用来记录学生id
cours_id int, #用来记录 课程id
primary key(s_id,cours_id), # 联合主键
foreign key(s_id) references student(s_id), # 关联学生id
foreign key(cours_id) references cours(cours_id) # 关联课程id
);
三.数据类型
MySQL支持多种类型,大致可以分为三类:
数值日期/
时间
字符串(字符)类型。



笔记2:MYSQL 表操作的更多相关文章
- Python 3 mysql 表操作
Python 3 mysql 表操作 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为 ...
- (2.3)学习笔记之mysql基础操作(表/库操作)
本系列学习笔记主要讲如下几个方面: 本文笔记[六:表操作--线上可以直接删除表吗?] 附加:库操作 [1]创建制定字符集的数据库 需求描述: 在创建DB的时候指定字符集. 操作过程: 1.使用crea ...
- Python学习笔记15—mysql的操作
安装 Python-MySQLdb pip install mysql-Python Python对mysql的操作 建立一个实验数据库demo mysql> create database d ...
- 数据库 -- mysql表操作
一,存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/peng104/p/9751738.html 二,表介绍 表相当 ...
- 8.3 mysql 表操作
库操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 performance_sch ...
- MySQL表操作及数据操作
表操作 表相当于一个文件,其形式与现实中的表格相同.表中的每条记录都有相应的字段,字段就类似于表格的表头. 表操作详细: #对表进行操作(文件) #首先要切换到指定库(即文件夹)下:use db1; ...
- SQL学习笔记三之MySQL表操作
阅读目录 一 存储引擎介绍 二 表介绍 三 创建表 四 查看表结构 五 数据类型 六 表完整性约束 七 修改表ALTER TABLE 八 复制表 九 删除表 一 存储引擎介绍 存储引擎即表类型,mys ...
- Mysql笔记4数据表操作1
1查看表的结构 (1)show create table +数据库名称 (2)desc+数据库名称 2修改表 (1)表中添加列 alter table 数据库名称 add column addr va ...
- (2.2)学习笔记之mysql基础操作(登录及账户权限设置)
本系列学习笔记主要讲如下几个方面: 本文笔记[三:mysql登录][四:账户权限设置][五:mysql数据库安全配置] 三.mysql登录 常用登录方式如下: 四.账户权限设置 (4.1)查看用户表, ...
随机推荐
- 阿里react整合库dva demo分析 [转]
同,也是工作中需要,用到 dva , 也找了些文章参考知识点. 更多:http://www.cnblogs.com/heyuqing/p/6844098.html 以下内容为摘出 mark 接着踩 ...
- 矩阵分解---QR正交分解,LU分解
相关概念: 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等.两个向量正交的意思是两个向量的内积为 0 正定矩阵:如果对于所有的非零实系数向量x ,都有 x ...
- android设计的布局在阿拉伯语下界面错乱的解决方法
(1)正在AndroidManifest.xml声明文件的application元素中,增加” android:supportsRtl=true” (2)建] androidの设计的布局在阿拉伯语下界 ...
- shrio的简单认识
博客讲解; shrio的知识储备 shrio的简单认识 笔记整理地址: Shrio.pdf 下载 Shrio理论.doc 下载 shrio知识储备.doc 下载
- spring boot(10)-tomcat jdbc连接池
默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...
- 《鸟哥的Linux私房菜》Chapter11 20180726~20180806
目录 1.认识Bash这个shell 1.1.硬件.核心与shell 1.2.系统的合法shell和/etc/shells功能 1.3.Bash shell的功能 1.3.1.命令修编功能 1.3.2 ...
- 【数据结构】循环队列 C语言实现
"Queue.h" #include "Queue.h" #include <stdio.h> #include <stdlib.h> ...
- 3.5星|《硅谷产品》:Facebook网红社区产品经理经验谈
硅谷产品:36讲直通世界级产品经理 作者是Facebook产品经理,目前负责的具体业务书的扉页上有含糊的介绍,书中没明确说,根据书中内容推测,主要是网红社区. 比较遗憾的是书中作者亲历的案例只有3个. ...
- PHP设计模式系列 - 观察者模式
观察者模式 观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性.观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码 ...
- linux 几个常用的Debian更新源
deb http://ftp.debian.org/debian/ lenny main contrib non-free deb-src http://ftp.debian.org/debian/ ...