栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 数据挖掘与分析

2021/9/27数据库

2021/9/27数据库

一:创建表语法 1.create table a(字段一,字段二)

alter table a add column id=1 where name=‘张三’
drop table a;
show tables;
desc a;

注意:临时解决中文乱码:set names gbk; 二:约束 2.主键约束:被主键约束的字段中的值唯一,不能重复,也不能为null

create table a(id int primary key)

2.1:主键约束并自增:主键约束的同时数据库会自动+1

create table a(id int primary key auto_increment);
id的值插入时写null数据库库会自增

2.2非空约束:哪个字段添加了非空约束,哪个字段的值不能为null

create table b(
id int primary key auto_increment,
pwd varchar(10) not null:非空约束
);

3.唯一约束:给字段添加unique,添加后的字段以后值只能唯一

create table b(
id int primary key auto_increment,
pwm varchar(100) unique:唯一约束
)

三.查询表中的字段

#查询部门表中的部门名称:
#格式:select 部门名称 from 表名—查询部门表中的部门名称
:–什么都查 字段名:–具体的字段
SELECt * FROM dept
SELECt dname FROM dept; #查询时使用字段名代替了

SELECt dname,loc FROM dept;#查询多个字段的值时用逗号隔开

四.基础函数:lower upper length substr concat replayce ifnull 基础函数 lower(a)变小写–把a的值变小写, upper(a)变大写–把a的值变大写

SELECt dname,UPPER(dname),LOWER(dname),LOWER(‘ABC’) FROM dept

length求长度–一个字母或者数字长度为1,一个汉字的长度是3(utf8)

SELECt ename,LENGTH(ename),job,LENGTH(job)FROM emp

截取substr(a,b,c)–a:字段名 b:开始位置 c:截取长度

SELECt ename ,SUBSTr(ename,2),SUBSTr(ename,2,2) FROM emp

拼接concat(a,b,c)–a:字段名 b:想要拼接的内容 c:想要拼接的内容

SELECt ename ,CONCAt(ename,123,‘abc’) FROM emp

替换内容replace(a,b,c)–a:字段名 b:想要替换的内容 c:替换的内容

SELECT dname,REPLACE( dname ,‘o’,‘666’) FROM dept

判断并替换null-ifnull(a,b)–a:字段名 --b要把null替换成的值

SELECt comm ,IFNULL(comm,0) FROM emp

对小数的处理:round:四舍五入取整 $ ceil:向上取整 & floor:向下取整

SELECt comm ,ROUND(comm),CEIL(comm),FLOOR(comm) FROM emp

对日期的处理:now:获取当前系统时间 & year:获取年 & month:获取月 & day:获取天

SELECt NOW(),YEAR(NOW()),MonTH(NOW()),DAY(NOW())

对时间的处理:hour:获取小时,minute:获取分钟, second(获取秒)

SELECT NOW(),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())

五.常见的业务中:增删改查CRUD,其中查询需求最多 1.条件查询: 1.1 distinct去重–只能放在要去重的字段名前

SELECT DISTINCT loc FROM dept

1.2 where用来引导判断条件

练习1:查询部门编号 = 40的数据
#select ? from ? where?
SELECt * FROM dept WHERe deptno=40
#练习2:查询部门编号>10的数据
SELECt * FROM dept WHERe deptno>10
SELECt* FROM dept WHERe 1=1#条件永远成立

#练习3:查询部门编号>10并且地址在二区的数据
SELECt * FROM dept WHERe deptno>10 AND loc=‘二区’

#练习4:查询部门编号>10或者地址在二区的数据
SELECt * FROM dept WHERe deptno>10 OR loc=‘二区’

#练习5:查询部门编号=10或者=20或者=30的数据
SELECt * FROM dept WHERe deptno=10 OR deptno=20 OR deptno=30
#同上练习五的需求,被简化
SELECt * FROM dept WHERe deptno IN(10,20,30)
SELECt * FROM dept WHERe deptno NOT IN(10,20,30)

1.3 like模糊查询 %是通配符,通配0-n个字符

#练习1:查询按照员工名字以l开头的员工信息
SELECt * FROM emp WHERe ename LIKE ‘l%’ #以l开头

#练习2;查询按照员工名字包含o的员工信息
SELECt * FROM emp WHERe ename LIKE ‘%o%’ #包含o

#练习3:查询按照员工名字以a结尾的员工信息
SELECt * FROM emp WHERe ename LIKE ‘%a’ #以a

1.4 null数据的处理

#练习1:查询没有奖金的员工信息
SELECt * FROM emp WHERe comm IS NULL
SELECt * FROM emp WHERe comm IS NOT NULL

1.5 between …and在区间范围内的数据

SELECt * FROM emp WHERe sal >5000 AND sal<10000
SELECt * FROM emp WHERe sal BETWEEN 5000 AND 10000

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

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号