写点什么

SQL 语句基本语法及函数方法,java 编程入门视频教程下载

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:2627 字

    阅读完需:约 9 分钟

delete from 表名 where 条件; ? ? ?删除表里边的数据?


delete FROM t_user WHERE id>10;


select * from 表名; ? ? ? ? ? ? ?查看表中数据 ? ?


SELECT * FROM t_user;


SELECT * FROM t_user WHERE id>10;


select 字段名 1,字段名 2 from 表名; ? ? ? ?查看指定字段的内容


select 字段名 1 ?别名,字段名 2 ?别名 ?from 表名; ? ? ? 给列起别名,表也可以起别名(别名可以用双引号引起了,也可以不用,字段名和别名之间可以加 as)


select username, password from t_user;


select username "用户名", password AS "密码" from t_user;


外链接


通过下面这两种方法就可以把不同的表连接到一起,变成一张大表


左连接 ?left join 或 left outer join,数据连接到左边那张表中


右连接 ?right join 或 right outer join,数据链接到右边那张表中


#通过下面这两种方法就可以把不同的表连接到一起,变成一张大表


#左连接 left join 或 left outer join,数据连接到左边那张表中


select * from user left join job on user.id=job.user_id;


select * from user left outer join job on user.id=job.user_id;


#右连接 right join 或 right outer join,数据链接到右边那张表中


SELECT * from user RIGHT JOIN job on user.id = job.user_id;


join 或 inner join 内连接


#join 或 inner join 内连接


select * from user join job on user.id = job.user_id;


#相当于下面这条语句


SELECT * from user, job where user.id = job.user_id;


交叉链接,cross join,没有 where 指定查询条件的子句的交叉联接将产生两表的笛卡尔积。


#交叉链接,cross join,没有 where 指定查询条件的子句的交叉联接将产生两表的笛卡尔积。


SELECT * from user CROSS join job;


常用函数:


distinct ?排出重复的(后面只能有一个字段名) ? ? ?语法:select distinct 字段名 from 表名;?


#distinct 去重


select DISTINCT age, name from user;


limit? ? ?分页查询


#查询第几条数据,表示从索引为 0 开始,查询 4 条记录


select * from user LIMIT 4;


#查询 id 为 3~7 数据,从索引为 2 开始,查询 5 条数据


SELECT * from user LIMIT 2,5;


count 获取表数据行数 ,? ? ? select count(*) from 表名; ? ? ? ?


SELECT COUNT(*) from user;


group by?分组? ? ? 按字段分组(在表名和 where 后面)


SELECT * from user GROUP BY age;


order by 排序查询 ? ?语法:select * from 表名 where 条件 order by 字段名 asc/desc, 字段名 1 asc/desc;


asc 表示升序(默认) ? ?desc 表示降序 ? ? where 可以不要


#默认 asc 排序


SELECT * from user ORDER BY age;


UPPER(string) ? ? ?可以将字符转成大写 ? ? 语法:select upper(字段名) from 表名;


lower(string) ? ? ? ?将字符转成小写


#将字符转为大写


SELECT UPPER(job) from user;


#将字符转为小写


SELECT LOWER(job) from user;


like ? 模糊查询 ? ? ?语法:select * from 表名 where 字段名 like '%M%';


_:只能通配当前位置的一个字符


%:可以通配任意多个字符


%%:匹配所有的内容


SELECT * from user where name like '%张 %';


not like ? ?用法和 like 一样(作用相反),不包含的


SELECT * from user where name not LIKE '%张 %';


in ? ? 范围查询 ? ? ?语法:select * from 表名 where 字段名 in(数据值 1, 数据值 2....);


SELECT * from user where age in(18, 20);


and 或 && ? ? ? ?并且


or 或 || ? ? ? 或


not 或 ! ? ? ?非(取反)


is null; ? ? ? 为空 ? ? ? ?


is not null; ? ? ? 不为空


between and ? ? ? ? 范围查找 ? ? 语法:select * from 表名 where 字段名 between 值 1 and 值 2;


regexp ? ? ? ?正则表达式 ? ? ? ? 语法:select * from 表名 where 字段名 regexp 'S表示最后一个字母为 S 的


= ?> ?>= ? < ?<= ?<> ?!= ?<=> 操作符


<>, != 不等于操作符, ?


<=> ? ? ? ?和=作用一样,可以用于和 null 比较


create table 新表 select * from 旧表; ? ? ?复制表结构及数据


creata table 新表 select * from 旧表 where 1 = 2; ? 只复制表结构到新表


create table 新表 like 旧表;?? ??? ??? ?只复制表结构到新表


concat(string1,String2) ? ? 拼接字符串 ? ? ? ? ?语法:select concar(字段 1,字段 2)/(字段 1,'字符串') from 表名;


substr(string,start,length) ? ? ? 截取字符串。


start 开始截取位置,length 截取长度


insert(str, x, y, insert); ? ?将字符串 str 的 x 位置开始,y 个字符替换为字符串 insert


LENGTH(string) ? ? ? ?计算字符的长度。


replace(string,'要替换的字符','替换的字符') ? ? ? ?对指定内容进行替换?


round(number,[index])按指定位置对数字进行四舍五入运算


Index 为正:表示小数点右边的位置


Index 为负:表示小数点左边的位置


left(str, x) ? ?right(str, x) ?分别返回最左/右边的 x 个字符, 如果第二个参数为 null 则返回为 null


lpad(str, n, pad), ?rpad(str, n, pad); ? ? ?用字符串 pad 对 str 最左边和最右边进行填充,直到长度为 n 个字符长度.


trim(str) ltrim(str) rtrim(str) ? ? ? 去掉字符串两边/左边/右边字符的空格


strcmp(s1, s2) ? ? ?如果 s1 比 s2 小,返回-1,大,返回 1,等于返回 0 ? ?字符串,ASCII 比较


运算符:


+ - * / ?运算,一般用在计算年薪。


#salary 月工资*12,其他运算同理


select name, salary*12 from user;


max() ? ? ? ? ? 计算最大值


min() ? ? ? ? ? 计算最小值


sum()?? ??? ?计算总和


avg() ? ? ? ? ? 计算平均值


#查询年龄最大的


SELECT MAX(age) from user;


#查询年龄最小的


SELECT MIN(age) FROM user;


#查询年龄总和


SELECT sum(age) from user;


#查询平均年龄


SELECT avg(age) FROM user;


md5('密码') ? ? ? ? ? ? ? 加密(一般用于程序加密码) ?


SELECT md5(age) from user;


mod(number1,number2) ? 求模(取余)运算?


abs() ? ? ? ? ? 绝对值


ceil(x) ? ? ? ? 返回大于 x 的最小整数


floor(x) ? ? ? ?返回小于 x 的最大整数?


rand() ? ? ? ? ?生成 0-1 之间的小数


truncate(x,y) ? 返回数字 x 截断 y 为小数的结果


curdate(); ? ? ?返回当前日期


curtime(); ? ? ?返回当前时间


now(); ? ? ? ? ?返回当前日期和时间


unix_timestamp(date) ? 把当前时间转为秒


from_unixtime(秒) ? ? ?把秒转为日期和时间


week() ? ? ? ? ? ? ? ? 周


year() ? ??? ? ? ? ? 年


hour()?? ??? ? ? ? ? 小时


minute()?? ? ? ? ? 分钟?


if(条件, true, false); ? ?条件为真,返回 true,为假返回 false ? 语法:


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


select if(条件,true,false) from 表名;

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
SQL语句基本语法及函数方法,java编程入门视频教程下载