美文网首页
mysql数据库(2)

mysql数据库(2)

作者: _98k | 来源:发表于2018-01-13 15:52 被阅读0次

模糊查询

先准备数据 接着用昨天的heroInfo表

insert into heroInfo values(5, "麦迪文", '人族', 38, 29);

insert into heroInfo values(6, "山丘之王", '矮人', 28, 39);

insert into heroInfo values(7, "潜行者", '矮人', 22, 39);

insert into heroInfo values(8, "伊瑟拉", '龙族', 00, 34);

insert into heroInfo values(9, "死亡之翼", '龙族', 00, 44);

insert into heroInfo values(10, "巫妖王", '兽族', 98, 49);

insert into heroInfo values(11, "伊利丹", '兽族', 28, 49);

insert into heroInfo values(12, "熊猫人", '不详', 33, 50);

-- 查询姓名中带有王字数据

select * from heroInfo where heroName like "%王%";

--查询种族为龙的所有数据

sleect * from heroInfo where heroRace like "龙族"

-- 查询姓名是以王结尾,并且王字之前有且只能有两个字符

-- _表示匹配一个字符

select * from heroInfo where heroName like "__王";

-- 删除数据表里面的所有数据行

delete from heroInfo;

-- 删除指定ID的数据行

delete from heroInfo where heroId = 1;

-- 获取最大值

select max(stuLevel) as "最大等级" from heroInfo;

-- 获取最小值

select min(heroLevel) as "最低等级" from heroInfo;

-- 平均值

select avg(heroAge) as "平均年龄" from heroInfo;

-- 获取总数

select count(*) as "总数" from heroInfo;

等级大于30的数量

select count(*) as "总数" from heroInfo where heroLevel > 30;

--修改英雄的等级

update heroInfo set heroLevel = 10 where heroName = "古尔丹";

-- 修改数据 heroId为2的数据

update heroInfo set heroRace = '不详', heroAge = 28, heroLevel = 77

where heroId = 2;

二,联表

首先新建两张表 

create table hero(

        heroID int(4) not null primary key auto_increment,

         heroName char(30),

         herolevel tinyint,

         equipID int # 英雄装备的id

);

create table equip(

          equipID int(4) not null primary key auto_increment,         

          equipName char(30),

          equipMoney tinyint

);

往里面插入数据

insert into hero(heroName, heroLevel, equipID) values("无极剑圣", 2, 1);

insert into hero(heroName, heroLevel, equipID) values("无双剑姬",5, 2);

insert into hero(heroName, heroLevel, equipID) values("暗裔剑魔",6, 3);

insert into hero(heroName, heroLevel, equipID) values("疾风剑豪",11, 4);

insert into equip(equipName, equipMoney) values('无尽', 90);

insert into equip(equipName, equipMoney) values('黑切', 30);

insert into equip(equipName, equipMoney) values('破败', 11);

insert into equip(equipName, equipMoney) values('电刃', 88);

-- 连表查询 用在英雄表中的英雄ID和武器表中的武器ID进行匹配,展示对应的数据

select * from hero, equip where hero.equipID = equip.equipID;

一对多

create table father(

        fID int,

        fName char(30)

);

create table son(

        sID int,

        sName char(30),

fID int

);

insert into father values(1, "何鸿燊");

insert into father values(2, "李嘉诚");

insert into son values(1, "何酋君", 1);

insert into son values(2, "何酋亨", 1);

insert into son values(3, "李泽楷", 2);

insert into son values(4, "李泽钜", 2);

-- 查询一下李嘉诚的儿子都是谁

select * from father inner join son on son.fID = father.fID

where fName = "李嘉诚";

-- 查询一下何鸿燊的儿子都是谁,这里使用了别名来简化书写

select * from father f inner join son s on s.fID = f.fID

where fName = "何鸿燊";

-- 一对多:父子关系,用户和订单关系,商铺和商品

多对多

create table student (

        stuID int,

        stuName char(30)

);

create table course(

        cID int,

        cName char(30)

);

create table stuToCourse(

        scID int, # 中间表的ID号

        stuID int, # 学生ID

        cID int  # 课程ID

);

插入数据

insert into student values(1, "张三");

insert into student values(2, "李四");

insert into student values(3, "赵五");

insert into student values(4, "王六");

insert into course values(1, "Java从入门到放弃");

insert into course values(2, "C语言从入门到出家");

insert into course values(3, "MySQL从删库到跑路");

insert into course values(4, "C++从入门到跳楼");

insert into course values(5, "PHP是世界上最好的语言");

insert into stuToCourse values(1, 1, 1);

insert into stuToCourse values(2, 1, 3);

insert into stuToCourse values(3, 1, 2);

insert into stuToCourse values(4, 2, 3);

insert into stuToCourse values(5, 2, 4);

insert into stuToCourse values(6, 2, 5);

insert into stuToCourse values(7, 3, 1);

insert into stuToCourse values(8, 3, 3);

insert into stuToCourse values(9, 3, 5);

insert into stuToCourse values(10, 4, 2);

insert into stuToCourse values(11, 4, 1);

insert into stuToCourse values(12, 4, 3);

       ————————- 看一下王六学了什么—————————

select * from student s

inner join stuToCourse sc on s.stuID = sc.stuID

inner join course c on sc.cID = c.cID

where s.stuName = "王六";

   ————————- 看一下李四学了什么—————————

select * from student s

inner join stuToCourse sc on s.stuID = sc.stuID

inner join course c on sc.cID = c.cID

where s.stuName = "李四";

—————————— 能否看一下C语言从入门到出家————————————

select * from course c

inner join stuToCourse sc on c.cId = sc.cID

inner join student s on sc.stuId = s.stuID

where c.cName = "C语言从入门到出家";

   select * from course c

—————————— MySQL从删库到跑路————————————

inner join stuToCourse sc on c.cId = sc.cID

inner join student s on sc.stuId = s.stuID

where c.cName = "MySQL从删库到跑路";

update stuToCourse set cID = 4 where scID = 3;

相关文章

  • php与mysql

    1、连接mysql 2、数据库扩展 mysql扩展进行数据库连接的方法: $link = mysql_connec...

  • 3 MySQL数据库操作

    2 MySQL数据库操作 3.1 MySQL操作数据库 3.2 MySQL操作数据表 3.2.1 MySQL创建数...

  • 分库分表,读写分离,数据库架构

    MySql--数据库设计三范式 一、mysql集群搭建 1、MySQL数据库的几种常见高可用方案2、MySQL分布...

  • MySQL数据库基本操作总结(不断更新中......)

    1.登录mysql数据库: mysql -u root -p 输入密码 2.登出mysql数据库: \q 3....

  • Mysql基础语法

    1. 登陆mysql 登陆mysql : 退出mysql: 2. SQL创建数据库 显示数据库 : 注意: inf...

  • MySQL基础

    一、关于数据库 1、什么是数据库 2、MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB...

  • mysql开启外网访问权限

    1:设置mysql的配置文件 重启mysql:service mysql restart 2:登录mysql数据库...

  • mysql2数据库插件

    使用mysql2插件,操作数据库。 mysql.createConnection(config对象),链接数据库。...

  • python数据库常用命令

    1.安装MySQL 2.MySQL的常用命令 (1)创建数据库 (2)删除数据库 (3)查看数据库 (4)使用(进...

  • nodejs使用mysql

    1、下载mysql模块 2、引入 const mysql = require('mysql'); 3、连接数据库 ...

网友评论

      本文标题:mysql数据库(2)

      本文链接:https://www.haomeiwen.com/subject/dydtoxtx.html