在工作中,用到最多的数据库就属mysql了。鉴于有些知识点总会忘记,因此专写一篇文章来不断记录这些内容。
1.left join,right join , join , inner join的区别
left join 即左连接,顾名思义,左侧的表为基础表,比如:tableA left join tableB,即以tableA为基础表,tableB中无对应的即用null做填充
right join 即右连接,顾名思义,右侧的表为基础表,比如:tableA right join tableB,即以tableB为基础表,tableA中无对应的即用null做填充
join,其实就是inner join 的简写,即内连接,只保留两个连接表中都符合连接条件的数据
备注:mysql没有full join,即全连接,但可以用left join + union + right join的方式来实现全连接
2.查找字段中是否有中文
select * from table where length(column) != char_length(column)//length函数,中文算三个字符,//char_length函数,中文英文都算一个字符
3.数据库备份命令
mysqldump [-h127.0.0.1] [-P3306] -uroot -p['123456'] databaseName [tableName] > fileName.sql//其中,-h127.0.0.1表示数据库所在IP为127.0.0.1,可换成其他IP,不填则默认为本机//-P3306 表示数据库开放端口为3306,不填则默认为3306//root可以是其他用户名,必填项//'123456'这个密码可以不填,不填会在命令回车后提示输入密码//databaseName即数据库名,必填项//tableName可以不填,不填即默认备份数据库的全部表
备注:该命令不需要登入mysql后才能执行
4.修改语句
update tableName set column1="value1",column2="value2" where column3="value3"
5.删除语句
delte from tableName where column1 = "value1" [limit 10]//删除10条符合条件的数据
6.新增语句
insert into tableName (column1,column2) values (value1,value2)[,(value3,value4)]//或者insert into tableName set column1=value1,column2=value2
7.指定条数
select * from tableName limit 0, 10//limit后第一个参数是数据下标,从0开始//第二个参数是取多少条数据//因此该语句是从第1条开始,取10条数据,即下标为 0到9的数据
8.排序语句
select * from tableName order by column1 desc [,column2 asc]//可以根据多个字段来排序,优先级从前到后逐渐降低//该条语句中,先按column1列降序排序,column1的值相同的数据再按column2升序排列//desc为选填值,当无desc和asc时,默认是desc
9.分组语句
select column1, count(*) from tableName group by column1;//该语句是查询column1中每个值的相同值个数
=================分割线============
还有好多写的,改天继续
文章转载自stephenChen的0或1,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




