数据库大讲解第六讲

数据库大讲解第六讲

基本命令使用 作者:董哥

前期比较乱主要是为了熟练有一定基础的,只需跟着文档来就可以,不懂的地方欢迎留言

创建数据库,及各数据库表

主要采用的是Mysql数据库,其中会有提到其他数据库:

  1. 前期·准备
    前期准备创建数据库employe并创建多个表
    前期是随便练习后边知识由浅入深
    前边几页是练习代码所需要的各种表
    里面有中文符号最好自己动手敲
    创建数据库

Host: 28.5.8.60 (Version 5.7.17)

Date: 2019-09-2

Writer: 煮不烂的鸡蛋 (Build 1.26)

select from student
where Student_id <103;
select Student_sname,student_city from student
where Student_id <103;
select Student_sname,student_city from student
where Student_id <105
order by Student_id desc;
select Student_sname,student_city ,student_phone from student
where Student_id <105
order by student_phone,student_city,Student_sname desc;
select count(
) from student;//使用count(*)函数统计表里的记录数量
select count(distinct Student_city) from student;函数统计城市个数
select emp_id from 用户名.student; 查询另一个用户的表
select Student_sname , Student_sname student_name from student;使用别名来
临时命名表的字段
操作符主要包括:
1.0比较操作符
2.0逻辑操作符
3.0求反操作符
4.0算术操作符
.select Student_sname , Student_sname student_name from student where student_id <>‘104’;返回字段不等于,数据库不等于用<>表示
select Student_sname , Student_sname student_name from student where student_id != ‘104’;
重要提醒!!!!!!!!!!!!!!!!!!
排序规则和系统的大小写敏感性直接决定了比较的结果啊,在大小写敏感的情况下,系统会认为
CHAIN和Chainchain是三个不同的值
select *from products_tbl where cost<209;
默认不包含所比较的值所以不包含209

select student_id,student_sname,student_phone from student where student_phone is null;
select student_id,student_sname,student_phone from student where student_id between 101 and 103;
between是包含最大值与最小值得
select student_id,student_sname,student_phone from student where student_id between 101 and 103;

select student_id,student_sname,student_phone from student where student_id in(‘101’, ‘103’);
操作符in用于把一个值与至少一个指定列表进行比较,当被比较的值与列表中的一个值相匹配,返回true,使用操作符in可以得到与操作符一样的结果in的速度更快
like有两个通配符
1%2_
百分号表示零个一个多个字符,下划线代表一个数字或字符
select student_id,student_sname,student_phone from student where student_id like ‘10%’;表示匹配一10开头的
select student_id,student_sname,student_phone from student where student_id like ‘%5%’;
表示任何包含5的值
select student_id,student_sname,student_phone from student where student_id like ‘05’;
表示第二个为0第三个为5
where salary like '2
%_%’
表示以2开头而且长度至少为3
where salary like ‘%2’
表示以2结尾的
where salary like’_2%3’
表示第二个为2结尾为3
where salary like‘2_____3’匹配长度为5以二开头以三结尾
这个操作符用于搜索指定表里是否存在满足特定条件的记录
select student_sname from student where exists(
select student_sname from student where student_id>‘103’);
操作符all 用于把一个值和另一个集合里的全部值进行比较
emp_id position emp_name emp_page emp_phone pay_rate
114 1213 董静 45 59
113 2255 战台 456 55
112 2200 晓丽 21112 212 99.99

select *from employe1
where emp_id >all(select emp_id from employe1 where emp_id<114);
查询employe1表里面所有大于(表里小于114)

emp_id position emp_name emp_page emp_phone pay_rate
114 1213 董静 45 59
select *from employe1
where emp_id >any(select emp_id from employe1 where emp_id<114);
大于112或者大于113
运行结果
emp_id position emp_name emp_page emp_phone pay_rate
113 2255 战台 456 55
114 1213 董静 45 59

emp_id position emp_name emp_page emp_phone pay_rate
112 2200 晓丽 21112 212 99.99
113 2255 战台 456 55.00
114 1213 董静 45 59.00
118 1200 华斯 8966 154 66.00
select *from employe1
where emp_id >112
and emp_id<116;
select *from employe1
where emp_id =112
and position=‘2200’;
select *from employe1
where emp_id =118
or position=‘2200’;
select *from employe1
where emp_id >113
and( position=‘1200’
or emp_id=114
or emp_name=‘晓丽’);
118 1200 华斯 8966 1546 66.00
114 1213 董静 45 59.00
select *from employe1
where emp_id >118
and position=‘1200’
or emp_id=114
or emp_name=‘晓丽’ ;
112 2200 晓丽 21112 212 99.99
114 1213 董静 45 59.00
<>,!=(not equal)

select *from employe1
where emp_id not between 112 and 114;
118 1200 华斯 8966 1546 66.00
select from employe1
where emp_id not in(‘112’,‘114’);
113 2255 战台 456 0.00
118 1200 华斯 8966 1546 66.00
not like
下面的条件表示不以200开头的
where salary not like ‘200%’
下面的条件表示不包含200的值
where salary not like ‘%200%’
下面条件表示第二个位置不包含00得值
where salary not like ‘00%’
下面的条件不是以2开始且长度小于·3
where salary not like '2
%%’
select *from employe1
where emp_name not like '
%台’;
112 2200 晓丽 21112 212 99.99
114 1213 董静 45 59.00
118 1200 华斯 8966 1546 66.00
select from employe1
where emp_name like ‘_%台’;
113 2255 战台 456 0.00
操作符 is null 的求反示is not null表示测试值不是null
select from employe1
where emp_phone is not null;
112 2200 晓丽 21112 212 99.99
118 1200 华斯 8966 1546 66.00
select emp_id+pay_rate from employe2;
select position from employe2 where emp_id+pay_rate >200;
select position from employe2 where emp_id-pay_rate <200;
select position ,emp_id
pay_rate,emp_id
pay_rate a from employe2 where emp_id
pay_rate >200;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值