emp

多表关系和查询

空扰寡人 提交于 2019-12-02 11:32:32
多表关系 社会中存储需要可以构建成表的数据, 它们形成的表,往往之间存储某种或某些社会关系, mysql数据库建立表结构就是社会中产生的各种数据, 分门别类管理 但mysql建立的(代码层次的)表之间, 同样需要处理表与表之间的关系 形成了 多对一 | 多对多 | 一对一 三种关系 """ 一对一:丈夫-妻子,用户-身份证,作者-作者详情 一对多:部门-员工,班级-学生,书-出版社 多对多:老师-班级,课程-学生,出版社-作者 """ # 书 - 出版社 - 作者 - 作者详情 外键分布 # 外键是 建立表与表关联 的字段,通常 一个表的外键 是 另一个表的主键(唯一键也可以) # 一对一:外键在任何一方都可以,此时外键要设置 唯一键 """ 作者(author):id,name,sex,age,mobile 作者详情(author_detail): id,info,address,author_id ---------------------------------------------------- 作者(author):id,name,sex,age,mobile, detail_id 1 Tom 1 2 Bom 2 3 Bob 3 作者详情(author_detail): id,info,address 1 Tom_info 2 Bom_info """ # 一对多

mysql-变量和流程控制语句

安稳与你 提交于 2019-12-02 09:19:28
mysql-变量和流程控制语句 变量 #例3 声明一个变量emp_name, 将雇员编号10的雇员姓名赋值给该变量 delimiter $$ create function func_emp ( ) returns varchar ( 255 ) begin declare emp_name varchar ( 20 ) ; select empname into emp_name from emp where empno = 1 ; return ( select empname from emp where empno = 1 ) ; end $$ delimiter ; 流程控制语句 共有7种: if case loop leave iterate repeat while #if语句语法 if 条件 then 结果 elseif 条件 then 结果 else 结果 end if #例1 如果grade大于等于60,输出通过,否则输出未通过 delimiter $$ create procedure proc_emp ( ) begin declare grade int ; set grade = 10 ; if grade >= 60 then select '通过' ; else select '未通过' ; end if ; end $$ delimiter ; #

How to check if my value is null or empty?

我的梦境 提交于 2019-12-02 07:12:48
In my JSP code I have the following: <s:iterator value="details" id="cle" status="rowCle"> <s:iterator value="value" status="row" > <tr> <s:if test="%{#surname== ''}"> <td> </td> </s:if> <s:else> <td class="reference"><s:property value="%{getText(key.longname.toLowerCase()) }" /></td> </s:else> Depending on the value of surname (which is a field with getter in my object details, so it is in the value stack) I want to display the value longname or blank. I have no problem to display {getText(key.longname.toLowerCase()), I also display surname later in my code, so my only concern is about

MySQL_2_约束和多表查询

早过忘川 提交于 2019-12-02 07:03:20
MySQL数据库 第四章 数据的完整性 作用:保证用户输入的数据保存到数据库中是正确的。 确保数据的完整性=在创建表时给表中添加约束。 完整性的分类: 实体完整性; 域完整性; 引用完整性; 4.1 实体完整性 实体:即表中的一行(一条记录)代表一个实体(entity)。 实体完整性的作用:标识每一行数据不重复。 约束类型: 主键约束(primary key) 唯一约束(unique) 自动增长列(auto_increment) 4.1.1 主键约束(primary key) ​ 注:每个表中要有一个主键 ​ 特点:数据唯一,且不能为null ​ 示例: ​ 第一种添加方式: CREATE TABLE studdent( id int primary key, name varchar(50) ); ​ 第二种添加方式:此种方式优势在于可以创建联合主键 CREATE TABLE student( id int, name varchar(50), primary key(id) ); CREATE TABLE student( classid int, stuid int, name varchar(50), primary key(classid,stuid) ); ​ 第三种添加方式:先创建表,然后再添加主键 CREATE TABLE studdent( id int;

Mybatis与Spring整合

别等时光非礼了梦想. 提交于 2019-12-02 06:32:30
Mybatis与Spring整合 既然我们已经学了Mybatis的基本开发了,接下来就是Mybatis与Spring的整合了! 以下使用的是Oracle数据库来进行测试 导入jar包 aopalliance.jar asm-3.3.1.jar aspectjweaver.jar c3p0-0.9.1.2.jar cglib-2.2.2.jar commons-logging.jar log4j-1.2.16.jar mybatis-3.1.1.jar mybatis-spring-1.1.1.jar mysql-connector-java-5.1.7-bin.jar ojdbc5.jar org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE.jar org.springframework.context-3.0.5.RELEASE.jar org.springframework.core-3.0.5.RELEASE.jar org.springframework.expression-3.0.5.RELEASE.jar org.springframework.jdbc-3.0.5

数据库之 MySQL --- 数据处理 之 表操作、CRUD(六)

旧巷老猫 提交于 2019-12-02 05:50:41
一、 表操作 创建数据库 CREATE DATABASE demo -- 删除数据库 DROP DATABASE demo -- 创建表 -- 第一种方式 : 白手起家 CREATE TABLE em( e_id INT PRIMARY KEY, -- primary key 主键,不可重复不能为null e_name VARCHAR(20), e_age INT ) -- 第二种方式: 基于现有的表来创建新的表 DROP TABLE em; CREATE TABLE em2 AS SELECT first_name FROM employees -- 复制employees 表 -- 注意: 表的约束是复制不了的 CREATE TABLE em3 AS SELECT * FROM employees -- 复制employees表但不要里面的内容 CREATE TABLE em4 AS SELECT * FROM employees WHERE 1 = 2; 【1】 修改表 CREATE TABLE em( e_id INT PRIMARY KEY, e_name VARCHAR(20), e_age INT ) 【2】修改列的类型 如果列中没有数据,那么列的类型可以进行修改 如果列中有数据,orcal是不允许修改的。mysql允许但大家需要谨慎修改 ALTER TABLE em

MySQL 数据表的基本操作

一笑奈何 提交于 2019-12-02 05:17:49
数据表的基本操作 1.主键约束要求主键列的数据唯一,并且不允许为空。主键能够唯一地识别表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系。 2.字表的外键必须关联父表的主键,且关联字段的数据类型必须匹配。如果类型不一样。创建子表时,就会出现错误:ERROR 1005(HY000):can't create table 'databases.tablesname'(error:150) 3.非空约束指字段的值不能为空。 4.唯一性约束:要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。 5.unique和primary key 的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key声明:声明为关键字的列不允许为空值,但是声明为unique的字段允许空值null的存在。 【例.1】创建员工表tb_emp1 选择创建表的数据库: USE test_db; 创建tb_emp1表: CREATE TABLE tb_emp1 ( id int(11), name varchar(25), deptId int(11), salary float ); 【例.2】定义数据表tb_emp 2,其主键为id: CREATE TABLE tb_emp2 (

MySql 表操作

て烟熏妆下的殇ゞ 提交于 2019-12-02 05:07:18
表中字段的详细操作 create table t2( id int primary key auto_increment, x int, y int ); insert into t2(x, y) values(10, 20), (100, 200), (1000, 2000); ''' 1.修改字段信息 alter table 表名 modify 字段名 类型[(宽度) 约束]; alter table t2 modify x bigint default 0; # 模式不同, 涉及精度问题 2.修改字段名及信息 alter table 表名 change 旧字段名 新字段名 类型[(宽度) 约束]; alter table t2 change y c char(10) not null; # 模式不同, 涉及类型转换问题 3.添加字段名 # 末尾添加 alter table 表名 add 字段名 类型[(宽度) 约束], ..., add 字段名 类型[(宽度) 约束]; alter table t2 add age int, add gender enum("male", "female", "wasai") default "wasai"; # t头部添加 alter table 表名 add 字段名 类型[(宽度) 约束] first; # 指定位添加:指定字段后

Oracle数据库学习笔记

青春壹個敷衍的年華 提交于 2019-12-02 02:03:34
一、DDL数据库定义语言 1、表空间 创建表空间: create tablespace bkjname --表空间名称 datafile 'E:\bkjname.dbf' --文件存放的路径 size 100m --大小 autoextend on --自动扩展 next 10m --每次扩展的大小 表空间是一个逻辑单位。 删除表空间: drop tablespace bkjname;    --只删除逻辑关系,本地的表空间文件需要手动删除 2、用户 创建用户: create user yh --用户名 identified by yh --密码 default tablespace bjkname; --表空间 给用户授权: --grant 角色 | 权限 to yh grant connect to yh; --赋予连接登录的权限 grant dba to yh; --最高权限dba grant resource to yh; --通常给开发人员授权resource 3、表 创建表 create table 表名( 列名 列的类型(列的约束), 列名 列的类型(列的约束) ); 列的类型 varchar:在Oracle中目前支持,但不保证以后还支持 varchar2(长度):可变字符长度 char(长度):固定字符长度 number(总长度,小数长度):数字类型

Mybatis入门二----关联映射

人走茶凉 提交于 2019-12-02 01:44:18
一、 数据库表中的数据和实体之间的映射默认是通过列名和属性名一致实现的。 如果数据库表中的列名和实体类中的属性名不一致, (1)可以通过来给列名设定别名来实现映射: < select id ="empall1" resultType ="Emp" > select deptno deptno1,dname dname1 from emp </ select > (2)可以通过在映射文件中设置resultMap来设置 <resultMap id="dept1" type="dept"> <!--id的作用为让别的命令调用,type为结果类型--> <id column="deptno" property="deptno1"/> <!--此标签为主键列,column为列名,property为属性名--> <result column="dname" property="dname1"/> <!--此标签为普通列--> </resultMap> sql语句: <select id="empall1" resultMap="dept1"> select dname from dept </select> 二、关联映射(多表查询)多对一,一对多查询设置 员工和部门的实体: 员工表(emp): public class Emp { private Integer empno; private