栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

【第二阶段 day02】使用SQLyog工具(创建库 创建表 字段的约束 基础函数 条件查询)

Java 更新时间:发布时间: 百科书网 趣学号
1.使用SQLyog工具 1.创建库

1.1 选中空白处右键 —> Create Database —> 输入数据库的名字 —>Create
注意:将Dtatabase charset设置为utf8

2.创建表

2.1 选中Tables右键 —> Create Table —> 输入表名(填写字段名称,类型,长度) —> Save

3.字段的约束 3.1主键约束
  • 是指哪个字段添加了主键约束,哪个字段就是表里的唯一主键
  • 主键约束:给字段添加primary key,约束了字段的值
  • 特点是:字段值必须唯一+值不能为null
  • 主键的值交给了数据库去管理,数据库会查到当前记录中的最大值+1
CREATE TABLE a(
id INT PRIMARY KEY
);

INSERT INTO a VALUES(10);
INSERT INTO a VALUES(10);#不成功,此时值10已经存在
INSERT INTO a VALUES(NULL);#不成功,字段值不能为null

AUTO_INCREMENT:
主键自增策略:是指主键的值不需要程序员数,
交给数据库自增,给主键添加AUTO_INCREMENT:

CREATE TABLE a(
id INT PRIMARY KEY AUTO_INCREMENT
);

INSERT INTO a VALUES(NULL);
INSERT INTO a VALUES(NULL);
INSERT INTO a VALUES(NULL);

SELECt * FROM a;
3.2 非空约束

值不能为null,但是可以不唯一

CREATE TABLE user1(
id INT PRIMARY KEY AUTO_INCREMENT,
password1 INT NOT NULL
);
3.3 唯一约束

值必须唯一且可以为null

CREATE TABLE test(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE
);
INSERT INTO test VALUES(NULL,'jenny');
INSERT INTO test VALUES(NULL,'lili');
4.基础函数

4.1概述

类似于java中的方法,也有()作为标记,主要是用来提高SQL的效率

4.2基础函数

例表:表 de

例表:表em

(1)查询部门表中的部门名称

SELECt NAME FROM de;


(2)查询部门表中的部门名称,并把其中的小写的数据转为大写
lower —> 数据转小写

 SELECt LOWER(NAME) FROM de;


(3)查询部门表中的名称和地址,并把部门名称中小写的数据转为大写
upper —> 数据转大写

SELECt UPPER(NAME),loc FROM de;


(4)查询部门表中名称和名称的长度
length —> 数据的长度
一个字母或数字的长度为1,一个汉字的长度为3

SELECt NAME,LENGTH(NAME) FROM de;


(5)查询部门表中名称和名称从第三个数开始截取,截取两个数据
stbstr(数据的字段名,开始截取的位置,截取长度) —> 数据的截取

SELECt NAME,SUBSTR(NAME,3,2) FROM de;


(6)查询员工表的名字和将名字为’jack’的成员拼接一个’200’
concat(要拼接的字段,拼接的内容)

SELECt ename,CONCAT(ename,'200') FROM em WHERe ename='jack';


(7)查询员工表将名字为’jack’的成员替换为’Jenny’
replace(要替换的字段.要替换的字符,替换后的新数据

SELECT ename,REPLACE(ename,'jack','jenny') FROM em;


(8)查询判断员工表中的mgr字段是否为空,为空在为空的位置上添加数据’****’

SELECt ename,IFNULL(mgr,'****') mgr FROM em;


(9)查询员工表,将comm四舍五入取整

SELECt ename,ROUND(comm) FROM em;


查询员工表,四舍五入保留一位小数

SELECt ename,ROUND(comm,1) FROM em;


查询员工表,四舍五入,ceil向上取整,floor向下取整

SELECt ename,CEIL(comm),FLOOR(comm) FROM em;


(10)uuid

SELECt UUID();


(11)now() —> 年月日,时分秒
curdate() —>年月日
curtime() —>时分秒

SELECT NOW(),CURDATE(),CURTIME();

SELECT YEAR(NOW()),MONTH(NOW()),DAY(NOW());

SELECT HOUR(CURTIME()),MINUTE(CURTIME()),SECOND(CURTIME());

5.条件查询

5.1distinct 去除重复行
SELECT DISTINCT loc FROM de;

5.2 where 用来引导判断条件
  • 使用where时,不能出现聚合函数和别名
  • where比having高效
  • where是分组前的过滤,having是分组后的过滤

5.2.1 查询部门编号=4的数据

select * from de where id=4;

5.2.2 查询部门编号大于4的数据

select * from de where id>4;

5.2.3 条件永远处理,查询所有的数据

SELECt * FROM de WHERe 1=1;

5.2.4 条件永远不成立

select * from de where 1=0;

5.2.5 查询部门编号大于4并且地区在二区的数据

select * from de where id>4 and loc="二区";

5.2.6 查询部门编号大于4或者地区在二区的数据

SELECt * FROM de WHERe id>4 or loc="二区";

5.2.7 查询部门编号为1,2,8的数据

select * from de where id in(8,2,1);

5.3 模糊查询

5.3.1 模糊查询,查询job以’员’开头/结尾/中间含有的数据(员以后可以有多个数据)

select * from em where job like '%员';
select * from em where job like '员%';
SELECt * FROM em WHERe job LIKE '%员%';

5.3.2 模糊查询,查询job以’l’开头的数据(l以后有两个数据)

select * from em where ename like 'l__';
5. 4.null

5.4.1过滤字段值为空的

select * from em where comm is null;

5.4.2 过滤字段值不为空的

select * from em where comm is not null;
5.5 between and
#select * from em where sal>=5000 and sal<=10000;
SELECt * FROM em WHERe sal BETWEEN 5000 AND 10000;#包含5000和10000
5.6 limit 分页,限制数据展示的条目

5.6.1 从第一个数开始,有三个数据

#从第一个数开始,有三个数据
select * from em limit 3;

5.6.2 从第二个数开始,有两个数据

#从第二个数开始,有两个数据
select * from em limit 1,2;#从第n+1个数开始,有m个数据

5.6.3 从第一个数开始,有三个数据

#从第一个数开始,有三个数据
select * from em limit 0,3;

5.7 order by 排序

5.7.1 在em表中按照工资sal升序排序

#升序排序
select * from em order by sal;
select * from em order by sal asc;


5.7.2 在em表中按照工资sal降序排序

#降序排序
select * from em order by comm desc;


5.7.3 在em表中按照员工名ename升序排序

#按照字母顺序排序
select * from em order by ename asc;


5.7.4 在em表中按照日期hiredate升序排序

#按照数字大小顺序排序
select * from em order by hiredate asc;


5.7.5 在em表中按照工作job升序排序

#字典排序:会查utf8里汉字对应的数字,按照数字的大小排序
#int a='副';
SELECt * FROM em ORDER BY job ASC;

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273593.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号