创建表mm:  其中id为主键且自增长

create table mm(id int(10) primary key not null unique auto_increment,

name varchar(20) not null,

age int(10),

class varchar(20) not null

);

为表mm,插入数据

insert into mm(id,name,age,class) values
(801,'刘*洋','男',21,'XY'),
(802,'周X','男',18,'uuy'),
(803,'YU全','男',26,'lf');

修改表名mm为students:

alter table mm rename students;

删除mm表里所有的数据:

delete from mm;

删除整张表:(删除mm这张表)

drop table mm;

查询students表里的第2到4条记录:

select * from students limit 1,3;

从students表查询所有学生的学号(id)、姓名(name)和班级(class)的信息

select Id,name,class from studens;

从students表中查询XY和lf的学生信息:

select * from students where class ='XY' or class='lf';
or
select * from students where class in ('XY','lf');

从students表中查询年龄18~25岁的学生信息

select * from students where age>=18 and age<=25;
or
select * from students where age between 18 and 25;

从students表中查询每个班有多少人

select class, count(*) from students group by class;

从score表中查询每个科目的最高分

select c_name,max(grade) from score group by c_name;

查询周X的考试科目(c_name)和考试成绩(grade)

///内连接:利用内连接可获取两表的公共部分的记录

select c.c_name,sc.grade from student s,score sc,course c where s.name='周X' and sc.Stu_id=s.Id and sc.c_name=c.Id;

外连接:

外连接:分左连接(left join)和右连接(right join)

关于左连接和右连接总结性的一句话:
左连接where只影向右表,右连接where只影响左表。

左连接:

左连接后的检索结果是显示students表的所有数据和score表中满足where 条件的数据,若左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

select s.* ,sc.* from students s left join score sc on s.Id=sc.Stu_id;

右连接:

右连接检索结果是score表的所有数据和students中满足where 条件的数据。

select s.*,sc.* from students s right join score sc on s.Id=sc.Stu_id;

计算每个考试科目的平均成绩

select a.C_name,avg(b.Grade) from course a,Score b where a.Id=b.C_name GROUP BY a.id;

mysql--创建表,插入数据,修改表名,删除表,简单查询/内连接、左/右连接的更多相关文章

  1. java实现mysql数据库从一张表插入数据到另一张表

    创建两张表: create table employee( id ), name ), email ), gender ) ); create table copyEmployee( id ), na ...

  2. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  3. mysql中把一个表的数据批量导入另一个表中

    mysql中把一个表的数据批量导入另一个表中   不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...

  4. 向oracle中的表插入数据的方法

    向oracle中的表插入数据的方法有以下几种: 假设表名为User 第一种方法:select t.*,rowid from User t;-->点击钥匙那个标记就可向表中添加数据 第二种方法:s ...

  5. sql实现同时向主表和子表插入数据方法

    使用sql语句实现同时向主表和子表插入数据方法: Oracle: -- oracle创建sequence create sequence SEQ_test minvalue 1 maxvalue 99 ...

  6. 如何往有自增标识字段的表插入数据时,同时给自增标识字段插入值呢,在Inset Into语句前后加上SQL语句:SET IDENTITY_INSERT TableName ON和SET IDENTITY_INSERT TableName OFF

    当要往有设置自增标识字段的表插入数据,并希望同时设置好自增字段的值时,可以在insert into 的SQL语句前后分别加上一句sql语句,SET IDENTITY_INSERT TableName  ...

  7. SQL-Oracle存储过程-循环A表,向B表插入数据

    --存储过程,查询A表,向B表插入数据 create or replace procedure prc_sg_sjtj_config(p_flag out varchar2) IS BEGIN FOR ...

  8. mysql数据库中插入数据INSERT INTO SET的优势

    往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...

  9. mysql使用存储过程插入数据后,参数为中文的为?或乱码

    最近了解了一下mysql存储过程,之前版本的mysql不支持存储过程,5.0版本后就可以支持存储过程的使用:恰好笔者下载使用版本为5.6.20: 做了一个给表插入数据的简单存储过程,发现打开表后汉字全 ...

随机推荐

  1. nfs服务的配置

    nfs服务 nfs简介 Network file system 网络文件系统.NFS server可以看作是一个 file server.它可以让你的pc通过网络将远端的nfs server共享出来的 ...

  2. 会了docker你又多了一个谈资(下)

    上篇文章介绍了docker 基本使用及安装([跳转☞会了docker你又多了一个谈资(上)],这篇重点说明下docker使用技巧. 问题1怎么用docker搭建多台服务器? 只需要 docker ru ...

  3. touch cyusbConfig.cmake

    touch cyusbConfig.cmake cmake文件丢失,与其解决问题,不如临时建立一个临时文件

  4. 【python基础】字符串方法汇总

    一.声明 0-多个字符组成的有序序列; 二.特点 1. 字符串是一个不可变的数据类型 2.字符串是有序的 三.索引 下标:'abcde' 1.从左到右, 0, 1,2, ... 2.从右到左, 索引值 ...

  5. Spring相关概念

    DIP: Dependency Inversion Principle.翻译过来是依赖反转原则,也叫依赖倒置原则. 依赖倒置原则是设计模式几个重要原则之一.具体定义就是,底层模块依赖高层模块定义的接口 ...

  6. ubuntu桌面最大化

    三行命令搞定Ubuntu 16.04下安装VMware Tools!!!!!!!!! 由于下载的是ubuntu-16.04.3-desktop-amd64,需要安装vmware tools,以往提取的 ...

  7. PHP开启错误提示而不是单单返回500

    方法一 修改php.ini文件和php-fpm.conf php.ini文件在我使用的发行版本/etc/php/<版本号>/cli/php.ini php-fpm.conf文件在/etc/ ...

  8. SVN各种错误提示产生原因及处理方法大全

    SVN各种错误提示产生原因及处理方法大全 SVN各种错误提示产生原因及处理方法大全 1. svn: Server sent unexpected return value (500 Internal ...

  9. 【Winfrom-适配窗体】 WinForm窗体及其控件的自适应,控件随着窗体变化

    在Winform中,窗体最大化之后,控件仍然保持原来的大小,就会显得不好看,那么有什么办法让控件跟着窗体变化吗? 在需要自适应的Form中代码如下:(AutoSizeFormClass.cs源码在下方 ...

  10. linux运维、架构之路-MongoDB单机部署

    一.MongoDB介绍 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系型数据库和非关系 ...