1.Mysql服务
mysql服务如何开启:
下载了mysql数据库你的服务中会有mysql服务。
1.1:
1.2:
2.使用sql语句进行 建库、建表、等操作、
2.1:使用sql语句进行创建数据库
语法: create database 数据库名;
实例创建一个数据库
2.2:使用sql语句进行删除数据库
语法:drop database 数据库名;
实例删除一个数据库
2.3:选择(选中)数据库。
语法:use 数据库名
实例:
2.4:使用sql语句创建一个数据表(二维表)。
语法:create table 数据表名(列名 列的属性,列名列的属性) (多列使用逗号分隔,创建数据表必须至少创建一列,否则此表创建失败!)
NOT NULL :设置列的值不可为空,否则会报错。
AUTO_INCREMENT :设置此列为自增列, 此列的值会自动增长,默认自动增长1,可以修改默认值。此列类型INT,不可使用别的类型。一般此列为主键。
PRIMARY KEY : 设置此列为主键,不可为空,不可重复。主键的值是唯一的。
实例
2.5使用sql语句删除表
语法:drop table 数据表名
实例:
2.6:使用sql语句为表添加数据
语法:insert into 表名(列1,列2,列3) values(列1的值,列2的值,列3的值)
(除了INT类型,别的类型的值需要使用单引号包住 '猪猪侠 ',否则报错)
实例:
2.7:使用sql语句对表中的数据进行修改
语法:update 表名 set 列名=值 where 列名=值 (where后面的是判断条件,不会修改where后面列的值,只是用做修改条件)
实例:
2.8:使用sql语句对表中的数据进行删除
语法:delete from 表名 where 列=值
实例:
3.Mysql查询的初级到查询的高级
3.1:使用select 查询所有数据
语法:select * from 表名
实例:
3.2使用select带条件查询数据
语法:select * from 表名 where 列名=值
实例:
3.3 使用group by进行分组查询
语法:select * from 表名 group by
(group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组)
实例:
进行分组:
3.4:聚合函数:
COUNT():统计记录的数目
实例:查询总共有多少条数据
SUM():求字段的和
实例:查询所有班级的人数总共有多少
AVG():求字段的平均值
实例:查询所有班级的人数加起来的平均人数有多少
MAX():求字段的最大值
实例:查询人数最多的班级是
MIN():求字段的最小值
实例:查询人数最少的班级是
3.5使用group by进行排序
使用group by进行排序要使用ASC或DESC必须指定要根据那列进行排序。
group by的ASC是升序,从小到大排序, group by的默认就是ASC,使用升序时也可以不写ASC
group by的DESC是降序,从大到小排序,
实例:降序
实例:升序
3.6使用group by进行二次过滤
语法:SELECT * FROM 表名 WHERE 列名>值 GROUP BY classnumber
实例:
3.7子查询的使用
语法:select * from 表名 where 列=(select 列名 from 表名 where 列名=值)
实例:
代码:
##创建一个数据库 CREATE DATABASE helloMysql; ##删除数据库 DROP DATABASE test; ##选择(选中)数据库 USE helloMysql ##创建数据表 CREATE TABLE s2( classid INT AUTO_INCREMENT NOT NULL PRIMARY KEY, classname VARCHAR(10) NOT NULL, classnumber INT NOT NULL ) ##删除数据表为s1的表 DROP TABLE s1 ##使用sql语句为s2表添加数据 INSERT INTO s2 (classname,classnumber) VALUES('六年级一班',50) ##修改classid为1的classname变成七年级一班 UPDATE s2 SET classname='七年级一班' WHERE classid=1 ##删除 classid为2的列 DELETE FROM s2 WHERE classid=2 ##查询s2表中的所有数据 SELECT * FROM s2 ##查询 classnumber人数大于30切包含30人数的班级 SELECT * FROM s2 WHERE classnumber>=30 ##使用GROUP BY进行分组 SELECT * FROM s2 GROUP BY classnumber ##查询总共有多少条数据 SELECT COUNT(1) FROM s2 ##查询所有班级的人数总共有多少 SELECT SUM(classnumber) FROM s2 ##查询所有班级的人数加起来的平均人数有多少 SELECT AVG(classnumber) FROM s2 ##查询人数最多的班级是 SELECT classname, MAX(classnumber) FROM s2 ##查询人数最少的是多少 SELECT MIN(classnumber) FROM s2 ##进行降序 SELECT * FROM s2 GROUP BY classnumber DESC ##进行升序 SELECT * FROM s2 GROUP BY classnumber ASC ##使用GROUP BY进行分组后的过滤 年纪人数大于35的 SELECT * FROM s2 WHERE classnumber>35 GROUP BY classnumber ##子查询 用班级表中的班级名称查询 学生表中的学生属于哪个班级 SELECT * FROM student WHERE classname= (SELECT classname FROM s2 WHERE classname='二年级' )