一、数据库操作1、创建数据库



create datebase 数据库名



2、选择数据库
在创建好了数据库之后要记得选择数据库,不然在新建查询的时候会出现问题。



use 数据库名



3、删除数据库



drop 数据库名



二、数据表

students表




mysql 加权排序 mysql排序升序_mysql排序语句 升序


teacher表


mysql 加权排序 mysql排序升序_字符串_02


1、创建数据表
主键是id


create table teacher(
id int PRIMARY key auto_increment,
name varchar(20),
class int not null
)


2、删除数据表


drop table 数据表名


3、往数据库增加数据(增)

这里要注意,就是如果默认就全部的数据都添加的话,students后面的(id,name,class,score) 就可以不需要,但是如果只有添加一部分数据,比如只想添加id和name,其他为空的话,就必须在students后面加上(id,name)


INSERT into students(id,name,class,score) values
(2,"李四",2,344),
(3,"王五",2,244),
(4,"李四",2,325);


4、删除数据(删)


DELETE from students where id=4


5、查找数据(查)


#查找数据表里面所有的数据
select * from students
SELECT name from students where grade=(SELECT max(grade) from students)


6、修改数据(改)


update students set teacher="陈老师" where id=1
update students set teacher="李老师" where id=2
update students set teacher="小布老师" where id=3


三、查询

1、where
后面为条件


update students set class=4 where id=4;
SELECT name from teacher 
where class = (SELECT class from students where name="张三")


2、order by(排序)


#desc表示降序,去掉出现的是升序的效果
SELECT * from students order by grade,class desc


3、group by (分组)
根据一个或者多个列对结果集进行分组
在分组上,我们可以使用count、sum、AVG等函数(建议自己百度group by进行详细学习,分组后数据的组合)

组合到一起的数据求总和


select name,sum(grade) from students GROUP BY class


4、JOIN

两个表格的字段
INNER JOIN ,内连接:获取两个表中字段匹配的关系记录
LEFT JOIN:左连接,获取左表中的全部数据,根据左表的数据与右表进行配对
RIGHT JOIN :又连接,获取右表的全部暑假,根据右表的数据与左表进行配对

举例:
下面两个表tb1,和tb2


mysql 加权排序 mysql排序升序_数据库_03


mysql 加权排序 mysql排序升序_mysql排序语句 升序_04


INNER JOIN :
两边都配对的数据选择出来


SELECT * from tb1 INNER JOIN tb2 on tb1.id=tb2.id


mysql 加权排序 mysql排序升序_数据_05


LEFT JOIN :


SELECT * from tb1 left JOIN tb2 on tb1.id=tb2.id


按照左表的id进行排列,把左表的都选择出来,右表没有适合的配对就默认空值


mysql 加权排序 mysql排序升序_mysql 加权排序_06


RIGHT JOIN:


SELECT * from tb1 right JOIN tb2 on tb1.id=tb2.id


右边的全部显示出来,左边多余的部分就不选择出来


mysql 加权排序 mysql排序升序_mysql 加权排序_07


四、字段操作

五、函数数值:
ABS(数值):绝对值
MOD(被除数,除数):求余
ROUND(数值,保留的小数位数):四舍五入

字符串:
字符串1||字符串2:拼接
LENGTH(字符串):字符串长度
LOWER(字符串):小写转换
UPPER(字符串):大写转换
REPLACE(字符串,替换前字符串,替换后字符串)
SUBSTRING(字符串 from 截取的起始位置 for 截取的字符数):字符串的截取

日期函数:
CURRENT_DATE:当前日期
CURRENT_TIMESTAMP:当前日期和时间

六、谓词
LIKE、BETWEEN、IS NULL 、IS NOT NULL、IN

1、LIKE——字符串的部分一致查询
可分为前方一致、中间一致和后方一致三种类型


#后方包含有ddd的字符串
select * from tb1 
where str1 like '%ddd'
#前方包含有ddd的字符串
select * from tb1 
where str1 like 'ddd%'
#中间包含有ddd的字符串
select * from tb1 
where str1 like '%ddd%'


2、BETWEEN——范围查询


select * from tb1 where hai between 100 and 1000


3、IS NULL /IS NOT NULL ——判断是否为NULL


select * from tb1 where hai is null


4、IN、NOT IN


select * from tb1 where hai IN(320,500,5000)


七、表的加法

1、UNION(并集)
将 表上下进行连接
下面为tb1


mysql 加权排序 mysql排序升序_mysql排序语句 升序_08


下面为tb2


mysql 加权排序 mysql排序升序_数据_09


将两个表进行并集,就会得到下面的结果,但是重复的部分会被消除掉,不会显示出来


SELECT id,name from tb1
union 
SELECT id,name from tb2


mysql 加权排序 mysql排序升序_数据库_10


如果想要重复的部分也显示出来的话,可以加上ALL


SELECT id,name from tb1
union ALL
SELECT id,name from tb2


mysql 加权排序 mysql排序升序_字符串_11