MySql必备技能 不会的赶紧get一下 可以说很详细了

时间:2023-03-09 19:13:34
MySql必备技能 不会的赶紧get一下  可以说很详细了

1.Mysql服务

mysql服务如何开启:

下载了mysql数据库你的服务中会有mysql服务。

  1.1:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  1.2:

MySql必备技能 不会的赶紧get一下  可以说很详细了

 2.使用sql语句进行  建库、建表、等操作、

  2.1:使用sql语句进行创建数据库

  语法: create database 数据库名;

实例创建一个数据库

MySql必备技能 不会的赶紧get一下  可以说很详细了

  2.2:使用sql语句进行删除数据库

  语法:drop database 数据库名;

实例删除一个数据库

MySql必备技能 不会的赶紧get一下  可以说很详细了

 

  2.3:选择(选中)数据库。

  语法:use 数据库名

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

    2.4:使用sql语句创建一个数据表(二维表)。

语法:create table 数据表名(列名  列的属性,列名列的属性)          (多列使用逗号分隔,创建数据表必须至少创建一列,否则此表创建失败!)

  NOT NULL    :设置列的值不可为空,否则会报错。

  AUTO_INCREMENT   :设置此列为自增列,   此列的值会自动增长,默认自动增长1,可以修改默认值。此列类型INT,不可使用别的类型。一般此列为主键。

  PRIMARY KEY  : 设置此列为主键,不可为空,不可重复。主键的值是唯一的。

实例

MySql必备技能 不会的赶紧get一下  可以说很详细了

  2.5使用sql语句删除表

  语法:drop table 数据表名

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  2.6:使用sql语句为表添加数据

  语法:insert into 表名(列1,列2,列3) values(列1的值,列2的值,列3的值)

  (除了INT类型,别的类型的值需要使用单引号包住 '猪猪侠 ',否则报错)

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  2.7:使用sql语句对表中的数据进行修改

  语法:update 表名 set 列名=值  where 列名=值    (where后面的是判断条件,不会修改where后面列的值,只是用做修改条件)

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  2.8:使用sql语句对表中的数据进行删除

  语法:delete from 表名 where 列=值

实例:

  MySql必备技能 不会的赶紧get一下  可以说很详细了

  3.Mysql查询的初级到查询的高级

  3.1:使用select 查询所有数据

  语法:select * from 表名

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  3.2使用select带条件查询数据

  语法:select * from 表名 where 列名=值

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  3.3 使用group by进行分组查询

  语法:select * from 表名 group by

  (group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组)

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

进行分组:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  3.4:聚合函数:

COUNT():统计记录的数目

实例:查询总共有多少条数据

MySql必备技能 不会的赶紧get一下  可以说很详细了

SUM():求字段的和

实例:查询所有班级的人数总共有多少

MySql必备技能 不会的赶紧get一下  可以说很详细了

AVG():求字段的平均值

实例:查询所有班级的人数加起来的平均人数有多少

MySql必备技能 不会的赶紧get一下  可以说很详细了

MAX():求字段的最大值

实例:查询人数最多的班级是

MySql必备技能 不会的赶紧get一下  可以说很详细了

MIN():求字段的最小值

实例:查询人数最少的班级是

MySql必备技能 不会的赶紧get一下  可以说很详细了

    3.5使用group by进行排序

  使用group by进行排序要使用ASC或DESC必须指定要根据那列进行排序。

  group by的ASC是升序,从小到大排序, group by的默认就是ASC,使用升序时也可以不写ASC 

  group by的DESC是降序,从大到小排序,

实例:降序

MySql必备技能 不会的赶紧get一下  可以说很详细了

实例:升序

MySql必备技能 不会的赶紧get一下  可以说很详细了

  3.6使用group by进行二次过滤

  语法:SELECT * FROM 表名 WHERE 列名>值 GROUP BY classnumber

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

  3.7子查询的使用

  语法:select * from 表名 where 列=(select 列名 from 表名 where 列名=值)

实例:

MySql必备技能 不会的赶紧get一下  可以说很详细了

代码:

##创建一个数据库
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='二年级'
)