MySQL入门——常用语句、函数

语句

初学者了解大部分语句即可,部分函数等了解即可,无需全部死记硬背。

> CREATE DATABASE 数据库名; //创建数据库
> SHOW DATABASES; //查看所有数据库
> USE 数据库明; //设置当前使用的数据库,通常进入mysql后,需以此指定要操作的数据库 
> DROP DATABASE 数据库名; //删除数据库(无法恢复)
> CREATE TABLE 表名(列1,列2,...); // 创建表并指定字段
	如: > create table tb_name
			> id int auto_increment primary key,
			> user varchar(30) not null;
> SHOW COLUMNS FROM 数据表 FROM 数据库; //查看表结构
> DESCRIBE 数据表; //查看数据表结构,可精确到列,如:describe tb_name colunm_name;
> ALTER TABLE; //更改表结构
> RENAME TABLE tb_name1 TO tb_name2; // 改表名
> DROP TABLE tb_name; // 删表,通常要检测表是否存在,否则会报错,如:drop table if exits tb_name;
> INSERT INTO tb_name ( column1,column2,...) values(val1,val2,...);//插数据
> SELECT * FROM tb_name; //查询
> WHERE //条件
> GROUP BY //对查询结果分组,查询项需包含分组列,如:select avg(price), type from tb_name group by type;
> DISTINCT //去除重复行
> ORDER BY //排序
> LIKE //模糊查询
> CONCAT //字段(字符串)连接,如:select id, concat(name,":",price) from tb_name;
> LIMIT //限定结果行数
> 函数 avg(字段名) //指定列平均值
> 函数 count(字段名) //统计非空数值
> 函数 min(字段名) //最小值
> 函数 max(字段名)//最大值
> 函数 sum(字段名)//总合
> UPDATE tb_name SET column1 = new_val1,column2 = new_val2, ... WHERE ...;//修改
> DELETE FROM tb_name WHERE ...; //删除数据
> TRUNCATE tb_name; //清空表,删除表内所有数据,速度很快
> 存在外键约束时,需先删除外键约束,然后才能删除主表。
> ABS(param) //求绝对值
> FLOOR(param); //向下取整数
> RAND();//取0~1随机数
> PI(); //圆周率
> TRUNCATE(x,y); //返回x保留小数点后y的值(四舍五入),如:select truncate(2.12312,3); 值为2.123
> ROUND(x); ROUND(x,y)//四舍五入保留整数或指定y位的小数
> SQRT(x);//平方根
> INSERT(s1,x,len,s2);//向字符串s1中的第x位长度为len处用s2替换,如:select INSERT('make',3,2,'book');值为mabook
> UPPER(s);//字母转大写
> LEFT(s,n);//返回字符串s前n个字符,如:select LEFT('book',2); 值为 bo
> RTRIM(s); //去掉结尾空格
> SUBSTRING(s,n,len);//在字符串s的第n个位置截取长度为len的字符串,如:select substring('book',3,1);值为o
> REVERSE(S);//字符串反序
> CURDATE(); CURRENT_DATE()//获取当前日期
> CURTIME();CURRENT_TIME()//获取当前时间
> NOW(); //获取当前日期和时间
> DATEDIFF(d1,d2);//计算d1和d2相隔天数
> ADDDATE(d,n);//计算d加上n天的日期
> SUBDATE(d,n);//计算d减去n天的日期
> PASSWORD(str); //数据库的加密函数,类似的还有MD5(str)等
> GROUP_CONCAT()通常与GROUP BY连用;
> 左外连接查询 left join ;//左侧表全查,右侧的关联表,有数据则查值,无数据查得为空,以左侧数据结构为基础
> 右外连接查询 right join ;//右侧表全查,左侧的关联表,有数据则查值,无数据查得为空,以右侧数据结构为基础
> 子查询,包含子查询的sql,执行顺序为从内到外;
> 带比较符的子查询,满足子查询结果条件,才会执行父级sql,如:select * from tb_name1 where row > (select row from tb_name2 where id =1);
> EXISTS关键字,子查询结果存在才会执行,如:select * from tb_name where exists (select * from tb_name2 where id = 1);
> ANY关键字,任意一个满足即可,如:select * from tb_1 where row < ANY (select row from tb_2);
> ALL关键字,必须满足全部才行,如:sleect * from tb_1 where row >= ALL (select row from tb_2);
> union与union all 联合查询,将结果拼接在一起,区别是union会自动去重,union all不会;
> 正则表达式查询,如:select * from tb_1 where book_name REGEXP '^php';//正则规则自行百度
> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缔曦_deacy

码字不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值