emp

MySQL常见建表选项及约束

眉间皱痕 提交于 2019-11-26 16:31:15
阅读目录 --- MySQL常见的建表选项及约束 : 1、 create table选项   1、 指定列选项 : default 、 comment   2、 指定表选项 : engine 、auto_increment、comment 2、 create table约束     1、 not null :非空约束   2、 unique :唯一约束   3、 primary key :主键约束   4、 foreign key :外键   5、 check :检查---enum、set    一、CREATE TABLE 选项 1、在定义列的时候,指定列选项 1)DEFAULT <literal>: 定义 列的默认值   当插入一个新行到表中并且没有给该列明确赋值时, 如果定义了列的默认值,将自动得到默认值 ; 如果没有,则为null。 mysql> create table people -> ( ->   id int not null primary key, ->   name varchar(20) not null, ->   sex char(1) default 'm' -> ); mysql> insert into people(id,name) values(1,'张三'); mysql> insert into people values(2,'李四',

完整性约束

早过忘川 提交于 2019-11-26 15:01:17
完整性约束 一、介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: PRIMARY KEY (PK) #标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) #标识该字段为该表的外键 NOT NULL #标识该字段不能为空 UNIQUE KEY (UK) #标识该字段的值是唯一的 AUTO_INCREMENT #标识该字段的值自动增长(整数类型,而且为主键) DEFAULT #为该字段设置默认值 UNSIGNED #无符号 ZEROFILL #使用0填充 说明: #1. 是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值 #2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值 sex enum('male','female') not null default 'male' #必须为正值(无符号) 不允许为空 默认是20 age int unsigned NOT NULL default 20 # 3. 是否是key 主键 primary key 外键 foreign key 索引 (index,unique...) 二、not null 与 default 是否可空,null表示空,非字符串 not null - 不可空 null - 可空

MySQL - MySQL 8.0进阶操作:JSON

痞子三分冷 提交于 2019-11-26 14:15:52
此学习文是基于MySQL 8.0写的 得益于大神朋友的悉心指导解决不少坑,才写出此文,向大神奉上膝盖   要在MySQL中存储数据,就必须定义数据库和表结构(schema),这是一个主要的限制。为了应对这一点,从MySQL 5.7开始,MySQL支恃了 JavaScript对象表示(JavaScriptObject Notation,JSON) 数据类型。之前,这类数据不是单独的数据类型,会被存储为字符串。新的JSON数据类型提供了自动验证的JSON文档以及优化的存储格式。 JSON文档以二进制格式存储,它提供以下功能: 对文档元素的快速读取访问。 当服务器再次读取JSON文档时,不需要重新解析文本获取该值。 通过键或数组索引直接查找子对象或嵌套值,而不需要读取文档中的所有值。 创建一个测试表 mysql> create table employees.emp_details ( -> emp_no int primary key, -> details json -> ); Query OK, 0 rows affected (0.17 sec) mysql> desc employees.emp_details; +---------+---------+------+-----+---------+-------+ | Field | Type | Null | Key |

(day07)MYSQL全解

房东的猫 提交于 2019-11-26 14:09:17
2019.08.07(day07) MySQL 什么是数据库 数据库(Database)是按照数据结构来组织、 存储和管理数据的仓库,简而言之就是存储数据的仓库。 数据库的分类: 层次式数据库, 网络式数据库, 关系型数据库, nosql数据库 -纯的内存数据库 -在硬盘上也有数据库的文件,但文件中存储的是json数据(mogodb) 数据库可以按照一定的数据结构存储管理大量的数据 及数据与数据之间的关系, 它本质上是一种信息管理系统。 数据库根据存储采用的数据结构的不同可以分为 许多种,其中常见的有层次式数据库、 网络式数据库、关系型数据库。 其中关系型数据库占据着市场的主流 关系型数据库: 关系型数据库是建立在关系模型基础上的数据库。 这种定义听起来十分抽象, 这里我们不深入讨论什么叫做“关系模型” 只是简单的表述为 利用表来存储数据, 用表和表之间的关系保存数据之间的关系的 数据库称为关系型数据库, 这个定义不太严谨,但是更好理解。 常见的关系型数据库: SqlServer Oracle MySql DB2 ... MySql介绍 MySQL是一个关系型数据库管理系统, 由瑞典MySQL AB 公司开发, 目前属于 Oracle旗下产品。 MySQL是一种关联数据库管理系统, 关联数据库将数据保存在不同的表中, 而不是将所有数据放在一个大仓库内,

day29(mysql)

北城以北 提交于 2019-11-26 13:57:49
MySQL 什么是数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,简而言之就是存储数据的仓库。 数据库的分类: 层次式数据库, 网络式数据库, 关系型数据库, nosql数据库 -内存数据库 -在硬盘上也有数据库的文件,但是文件中存储的是json数据(mongodb) 数据库可以按照一定的数据结构存储管理大量的数据及数据与数据之间的关系, 它本质上是一种信息管理系统。 数据库根据存储采用的数据结构的不同可以分为许多种, 其中常见的有层次式数据库、网络式数据库、关系型数据库。 其中关系型数据库占据着市场的主流 关系型数据库: 关系型数据库是建立在关系模型基础上的数据库。这种定义听起来十分抽象, 只是简单的表述为 利用表来存储数据,用表和表之间的关系保存数据之间的关系的数据库称为关系型数据库,这个定义不太严谨,但是更好理解。 常见的关系型数据库: SqlServer Oracle MySql DB2 ... MySql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发, 目前属于Oracle旗下产品。 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL的特点是体积小

多表查询练习

偶尔善良 提交于 2019-11-26 10:25:53
1 -- 新建一个数据库 2 CREATE DATABASE db2; 3 4 -- 部门表 5 CREATE TABLE dept( 6 id INT PRIMARY KEY , -- 部门id 7 dname VARCHAR(10), 8 loc VARCHAR(10) 9 ); 10 -- 添加四个部门 11 INSERT INTO dept(id,dname,loc)VALUES 12 (10,'教研部','北京'), 13 (20,'学工部','上海'), 14 (30,'销售部','广州'), 15 (40,'财务部','深圳'); 16 -- 职务表 17 CREATE TABLE job( 18 id INT PRIMARY KEY, 19 jname VARCHAR(20), 20 description VARCHAR(50) 21 ); 22 -- 添加四个职务 23 INSERT INTO job()VALUES 24 (1,'董事长','管理整个公司,接单'), 25 (2,'经理','管理部门员工'), 26 (3,'销售员','向客户推销产品'), 27 (4,'文员','使用办公软件'); 28 29 30 31 -- 员工表 32 CREATE TABLE emp( 33 id INT PRIMARY KEY, 34 ename VARCHAR

第四章 过滤

风格不统一 提交于 2019-11-26 10:23:52
1. 基本描述   本章主要讲解在SELECT、UPDATE、DELETE语句中的WHERE子句所能使用的各种类型的过滤条件。 2. 基本样例 SELECT pt.name product_type, p.name product FROM product p INNER JOIN product_type pt ON p.product_type_cd = pt.product_type_cd WHERE pt.name = 'Customer Accounts'; SELECT pt.name product_type, p.name product FROM product p INNER JOIN product_type pt ON p.product_type_cd = pt.product_type_cd WHERE pt.name <> "Customer Accounts"; SELECT emp_id, fname, lname, start_date FROM employee WHERE start_date < '2007-01-01'; SELECT emp_id, fname, lname, start_date FROM employee WHERE start_date < '2007-01-01' AND start_date >= '2005

Oracle中的rownum

99封情书 提交于 2019-11-26 06:51:45
     请耐心看完,特别是这儿学的乱的 一点点看底面的代码分析你一定会懂的 rownum:是伪号的意思,Oracle专有,不属于任何表,但是任何表都可以使用! 作用 :用以给查询出来的所有元组加上行号 规则 :1,默认是从1开始,依次递增。    2,不能去点rownum    3,rownum写在哪个select中,这个select语句条件后就不能用rownum>某个数字,可以<某个数字,因为是默认是从1开始的,我们如果rownum>某个数      字,条件就一下不满足了,查询结果就是空的, 很抽象,我们来看一下 下面的代码 。 这是根据scott用户下的emp表做的一个练习 题目是:--查询emp表中顺序在6-10的员工信息 思路:首先,我们要查全部员工是不是这样:select * from emp; 然后我们给这些员工加序号select rownum,emp.* from emp;  --注意,*前面要加上表名去点它了 排好序后我们就可以挑选序号了,首先规则3里面说的rownum在哪个select中,这个select条件后就不能使用大于号,所以我们先使用小于号,小于号可以使用,我们先选出1-10select rownum,emp.* from emp where rownum<11; 然后我们怎么给它加大于号呢?嵌套,刚才说,rownum在哪个select中

ssm搭建简单web项目实现CURD

自作多情 提交于 2019-11-26 05:52:23
在之前已经对spring,spring-mvc,mybatis等框架有了了解,spring整合mybatis也进行了练习,ssm框架就是这三种框架的简称,那么我们如何使用这三种框架来设计web项目呢? 今天就简单的使用ssm框架搭建web项目,实现增删改查等基本操作: maven搭建web项目 导入需要使用的依赖文件: <dependencies> <!--核心包--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.1.8.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.8.RELEASE</version> </dependency> <!--数据连接包--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.8.RELEASE</version> <

Mysql学习笔记(2)--DDL语句

微笑、不失礼 提交于 2019-11-26 04:08:13
mysql学习笔记(1) https://blog.csdn.net/Fhujinwu/article/details/81517046 1、SQL语句主要划分为三个类别: ①DDL语句:数据定义语言,这些语句定义了不同的数据段、数据库、表‘、列、索引等数据库对象,常用的语句关键字主要包括create、drop、alter等; ②DML语句:用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括insert、delete、select等; ③DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要语句关键字包括grant、revoke等; 2、在mysql>提示符后面输入所要执行的SQL语句,每个SQL语句以分号(;)或者“\g”结束,按回车键执行; 3、创建一个新的数据库test1: create database test1; 显示系统中已经存在的所有数据库:show databases; 查看已存在数据库中的所有数据表: use test (回车) show tables;(回车) 删除已存在的数据库:drop databses test; 4、在数据库中创建一张表的步骤:首先选定数据库 use databasename,回车,之后输入信息,格式如下所示: CREATE