一.外键前戏 如果我们把所有的信息都记录在一张表中会带来的问题: 1.表的结构不清晰 2.浪费磁盘空间 3.表的扩展性极差 所以我们要把这种表拆成几张不同的表,分析表与表之间的关系. 确定表与表之间的关系,一定要换位思考(必须两方都考虑周全之后才能得出结论) 学生与班级表: 1.站在学生的角度看班级:能否多个学生在一个班级 (一个班级能否有多个学生)    可以!!! 2.站在班级的角度看学生:能否有多个班级对应一个学生 (一个学生能否在多个班级)     不可以!!! 结论:学生表和班级表之间…
字段的修改.添加和删除 create table tf1( id int primary key auto_increment, x int, y int ); #修改 alter table tf1 modify x char(4) default''; alter table tf1 change y m char(4) default ''; #增加 alter table 表名 add 字段名 类型[(长度) 约束]; >:alter table student add name cha…
其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语句,但是不是任何项目都要用到大框架的,如果不用,那你是不是就不会操作数据库了呢,所以我们最好还是熟悉一点好,对我们以后找工作和工作都有帮助. 在说创建.修改和删除表前,我们还是要进行一个操作的简单说明: 1.登陆数据库系统 在命令行中登陆MySQL数据库管理系统,输入一下内容: mysql -h l…
查看有哪些数据库: SHOW DATABASES; 创建,删除数据库: CREATE DATAABASE mydb; DROP DATABASE mydb; 查看有哪些表: SHOW TABLES; 创建,删除表: CREATE TABLE test (id INT, name ), sex BOOLEAN ); DROP TABLE mytb; 查看表结构: DESC TABLE mytb; SHOW CREATE TABLE mytb; //查看详细信息 设置表的主键: CREATE TAB…
MySQL数据库,[显示.创建.选定.删除数据库],[用户管理.对用户增删改查以及授权] 1.显示数据库 SHOW DATABASES;显示数据库 SHOW DATABASES; mysql - 用户权限相关数据sys - 数据库的相关配置存放的表information_schema MySQL本身架构相关数据performance_schema主要用于收集数据库服务器性能参数 2.创建数据库 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE…
转: MySQL删除所有表的外键约束.禁用外键约束 2017年10月27日 00:11:34 李阿飞 阅读数:4512   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/junlovejava/article/details/78360253  数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的关联关系…
查询指定 数据库 中所有 表 (指定数据库的,所有表) // 可以把 TABLE_NAME 换成 * 号, 查看更丰富的信息 SELECT TABLE_NAME FROM information_schema. TABLES WHERE table_schema = '数据库名' //where 后面还有更多的条件选择,比如只查出以 oauth_表开头的表 AND TABLE_NAME LIKE 'oauth_%'; 查询指定 数据库 中,指定 表 的所有 字段 (指定表的,所有列) SELEC…
其实如果想删除所有表可以直接如下操作: 在navicat中直接选中所有表,然后右键删除表即可,会有提示,一路确定,就会先删掉没有外键的表和字表,只要一路确定,删几批就把表都删完了,并不算太麻烦. 转: MySQL删除所有表的外键约束.禁用外键约束 2017年10月27日 00:11:34 李阿飞 阅读数:4271   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/junlovejava/article/details/78360253  数据库…
1:创建一个父表,主键作为子表的外键: create table province( pId int primary key auto_increment, pName varchar() ); 2:创建子表,外键是父表的主键: create table user( userId int primary key auto_increment, userName varchar(), pid int, foreign key(pid) references province(pId) ); 给一张…
本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为…