mysql--创建表,插入数据,修改表名,删除表,简单查询/内连接、左/右连接
创建表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--创建表,插入数据,修改表名,删除表,简单查询/内连接、左/右连接的更多相关文章
- java实现mysql数据库从一张表插入数据到另一张表
创建两张表: create table employee( id ), name ), email ), gender ) ); create table copyEmployee( id ), na ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- mysql中把一个表的数据批量导入另一个表中
mysql中把一个表的数据批量导入另一个表中 不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...
- 向oracle中的表插入数据的方法
向oracle中的表插入数据的方法有以下几种: 假设表名为User 第一种方法:select t.*,rowid from User t;-->点击钥匙那个标记就可向表中添加数据 第二种方法:s ...
- sql实现同时向主表和子表插入数据方法
使用sql语句实现同时向主表和子表插入数据方法: Oracle: -- oracle创建sequence create sequence SEQ_test minvalue 1 maxvalue 99 ...
- 如何往有自增标识字段的表插入数据时,同时给自增标识字段插入值呢,在Inset Into语句前后加上SQL语句:SET IDENTITY_INSERT TableName ON和SET IDENTITY_INSERT TableName OFF
当要往有设置自增标识字段的表插入数据,并希望同时设置好自增字段的值时,可以在insert into 的SQL语句前后分别加上一句sql语句,SET IDENTITY_INSERT TableName ...
- SQL-Oracle存储过程-循环A表,向B表插入数据
--存储过程,查询A表,向B表插入数据 create or replace procedure prc_sg_sjtj_config(p_flag out varchar2) IS BEGIN FOR ...
- mysql数据库中插入数据INSERT INTO SET的优势
往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...
- mysql使用存储过程插入数据后,参数为中文的为?或乱码
最近了解了一下mysql存储过程,之前版本的mysql不支持存储过程,5.0版本后就可以支持存储过程的使用:恰好笔者下载使用版本为5.6.20: 做了一个给表插入数据的简单存储过程,发现打开表后汉字全 ...
随机推荐
- IIS 程序池优化配置方案
内容目录 IIS 程序池优化配置方案IIS高并发配置一.IIS站点绑定程序池设置二.支持万级并发请求 IIS 程序池优化配置方案 最近由于系统的客户越来越多,有客户反映访问速度变慢,尤其是api的请求 ...
- tornada-模板
tornado模板 1.配置模板路径 (project/config.py) # coding=utf-8 import os BASE_DIRS = os.path.dirname(__file__ ...
- ZOJ red black tree
#include <bits/stdc++.h> #define fi first #define se second #define lson l,m,rt<<1 #defi ...
- Django学习系列10:保存用户输入——编写表单,发送POST请求
要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求 ...
- npm上发布vue插件
1.初始化项目 vue init webpack-simple XXXXX(此处为插件名) 使用vue创建一个简单的项目,删除src中除了main.js和app.vue外的文件,清空app.vue中无 ...
- 还不会使用MyEclipse的Breadcrumb导航功能?再不看你就OUT了
MyEclipse CI 2019.4.0安装包下载 使用DevStyle Breadcrumb导航可以轻松地浏览工作区,只需遵循breadcrumb路径即可.DevStyle作为Eclipse插件提 ...
- spring MVC 后端 接收 前端 批量添加的数据(简单示例)
第一种方式:(使用ajax的方式) 前端代码: <%@ page contentType="text/html;charset=UTF-8" language="j ...
- NFS的搭建
NFS是Network File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用N ...
- 使用CEfSharp之旅 前后端访问代码
1.引入CEfSharp newget包 2.把平台配置为X86或X64,any cpu不支持此控件 3.引入命名空间 using CefSharp; using CefSharp.WinForms; ...
- 问题_VS2008和VS2012未能加载包.....以及破解VS2008方法
在装了vs2012之后,装了vs2008 然后发生了加载包失败的问题 1.vs2008 解决办法:在vs2008命令提示符下运行:devenv /resetskippkgs,再重新打开就行了 2.vs ...