sql针对某字段去重查询_sql在cmd中的增删改查和多表联查⼀,cmd的了解
终端(shell)包含:1,cmd 2,poweishell
⼆,cmd连接数据库
1,host(默认IP localhost,如果IP是本机,可不写):IP
virtualbox 共享文件夹简写-h
2,port(默认3306,如果端⼝号是3306,可不写):端⼝
简写-P
3,user:账号
简写-u
4,password:密码
简写-p
cmd中输⼊mysql -u root -p,回车。再输⼊密码,回车,连接成功。退出exit。
PS:同理如果连接其他电脑数据库,如:
输⼊:mysql -h 192.144.148.91 -u ljtest -p ,回车后输⼊密码
MySQL中表的关系
Mysql是关系型数据库(表与表之间的逻辑关系)
如:学⽣表和班级表,学⽣表和成绩表
那么,学⽣表的姓名与班级表的姓名相对应,为⽅便修改操作,可由学⽣表的编号作为该学⽣的代表编号,其他表格的姓名均⽤学⽣编号代替,即学⽣表的编号=成绩表的学⽣编号, 如图
成绩表的学⽣编号1对应学⽣表的编号1的信息,及成绩表的学⽣编号1 就是“张三”
因此学⽣编号就是成绩表的“外键”(外键:建⽴表与表之间的关系)
因此我们⾸先准备好三张有关联的表格:学⽣表t_student,班级表t_class,成绩表t_grade
Mysql 在 cmd 上的具体操作(增删改查)
⼀,数据库和表格管理
1,输⼊命令 mysql -u rool -p,输⼊密码,连接成功
注意:连接数据库后,之后的语句运⾏结尾必须加英⽂分号(;)并回车
注意:
⼩技巧:光标处按键盘上下,可查询输过的命令
⼩技巧:
2,输⼊show databases;(简称bd) 查看数据库列表(nvicate会⾃动运⾏命令,所以会⾃动展⽰,cmd则需要⼿动)(databases=数据库)
注意:所有命令结尾都必须加上分号(英⽂版),否则⽆法运⾏命令,如果命令正确,漏掉分号,⾃动换⾏后直接补上英⽂分号即可。如果输错中⽂分号,可在⾃动换⾏后按crrl+c 先中⽌,再重新输⼊语句。
3,选择数据库
输⼊ use 数据库的名字; ,出现databases changed ,表⽰成功
4,查看列表
输⼊ Show tables ;,显⽰出该数据库的表列表
5,查看表格
输⼊Select *from 表名; ,展⽰出该表的所有数据(*表⽰所有字段,可根据情况修改)
即 select 字段1,字段2 from,就是只展⽰出该表的字段1,字段2,如图
输⼊ select sname from t_student;
以上完成后,就可以进⾏更具体的操作了!
java截取倒数第二个字符通过条件查询表格明细
输⼊ Select *from 表名 where 字段1=值 and 字段2=值
如输⼊ select * from t_student where sex = ‘⼥’ and age > 25;
(因为“⼥”是字符串,所以必须加单引号)
查询出学⽣表的⼤于25岁⼥⽣
⼆,判断符与逻辑连接符的运⽤
判断符:= ,>,<,!=(不等于),in,is,like,between, 取反:加not,如 is not,not in 等逻辑连接符:and,or 并且,或者的意思
mysql面试题sql语句多表联查In/is/like/between 的运⽤
in 在**⾥⾯的意思,如城市
1,in
如输⼊select *from t_student where address in (‘杭州’,'上海’);
查询出所有在上海杭州的学⽣的数据
取反同理,运⽤not in手机网页游戏开发
可输⼊select *from t_student where address not in (‘杭州’,'上海’);
查询出所有不是杭州上海的学⽣的数据
, is ⽤来判断是否为空 (null是空的意思)
软考证书有用吗2, is
如elect *from t_student where phone is null
查询出phone 是 null 的所有数据oracle数据丢失与恢复
取反同理,运⽤ is not (注意:is 的取反与其他不同,is 在前,not 在后)
可输⼊select *from t_student where phone is not null
, between and 表⽰两只之间
3, between and
如select *from t_student where age between 18 and 25
查询出学⽣表中所有年龄在18-25之间的学⽣
引申:查出学⽣表中所有年龄在18-25之间的男学⽣
输⼊select *from t_student where age between 18 and 25 and sex=’男’;注意: 语句当中的两个and,不是同⼀个意思
结果如图
取反同理,运⽤not between
可输⼊select *from t_student where age not between 18 and 25;
, Like “包含”的意思, ⽤于字符串的查询
4, Like
如输⼊select *from t_student where sname like ‘张%’;
查询姓张的同学
同理查询凡结尾的学⽣
输⼊select *from t_student where sname ‘%凡’;
同理查询名字中有含有⼩的学⽣
输⼊select *from t_student where sname ‘%⼩%’;
三,sql的新增
输⼊ Insert into 表名(字段1,字段2,字段3) values (值1,值2,值3);
注意:新增是⼀⾏⼀⾏新增的
如在class 表中新增⼀⾏
输⼊ insert into t_class (id,cname,remark) values (5,’扬州’,’挺好’);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论