下面是我总结的一些基础的sql知识,主要是为了以后更好的查阅和帮助其他初学的人,同时记录自己的成长,还写了一点稍有难度的sql面试题级别的题目,好了废话不多说,见真题。。。
#创建数据库
CREATE DATABASE mytest CHARACTER SET gbk
#删除数据库
DROP DATABASE mytest
表的操作
#创建表(create table 表名(columns))
CREATE TABLE students(
id INT PRIMARY KEY,
NAME CHAR() NOT NULL,
sex CHAR() NOT NULL
);
#删除表(drop table 表名)
DROP TABLE students
#在表格中插入数据(insert into 表名(属性) values(对应的值))
INSERT INTO students(id,NAME,sex) VALUES(,"张三","男")
#更新表格数据(update 表名 set 键=值,键=值 where 条件)中间要用“,”隔开,其他的无效 set只需写一个
UPDATE students SET id= , NAME="a" WHERE id=
#删除表中数据(delete from 表名 where 条件)
DELETE FROM students WHERE id=
#查看表中数据(select 查询的东西 from 表名 where 条件)
SELECT * FROM students WHERE id=
SELECT * FROM students ORDER BY age DESC(order by升序,order by 列名 desc降序)

#添加列(alter table 表名 add 列名 字段类型)
ALTER TABLE students ADD tel CHAR()
ALTER TABLE students ADD address CHAR() AFTER sex
#删除列(alter table 表名 drop 列名)
ALTER TABLE students DROP address
#修改列属性(alter table 表名 change 需要修改的列名 修改后的列名 新列名字段类型)
ALTER TABLE stu CHANGE telphone tel CHAR() DEFAULT "-"
ALTER TABLE students CHANGE tel
ALTER TABLE students RENAME stu
简单函数
SELECT SUM(age) AS "总年龄" FROM students
SELECT AVG(age) AS "平均年龄" FROM students
SELECT MAX(age) AS "最大年龄" FROM students
SELECT COUNT(id) AS "人数" FROM students(统计人数选择主键不然可为空的列会影响结果) 分组
表内容:
-- 胜
-- 胜
-- 负
-- 负
-- 胜
-- 负
-- 负     如果要生成下列结果, 该如何写sql语句?
胜 负
--
--
SELECT DATA AS " ",SUM(result='胜') AS "胜" ,SUM(result='负') AS "负" FROM test1 GROUP BY DATA Case when(case 属性=“” then “” end)
      写出由table1.table2得到table3的sql语句  
SELECT t1.部门dep,SUM(CASE WHEN 月份mon='一月份' THEN 业绩yj ELSE NULL END) AS '一月份',
SUM(CASE WHEN 月份mon='二月份' THEN 业绩yj ELSE NULL END) AS '二月份',
SUM(CASE WHEN 月份mon='三月份' THEN 业绩yj ELSE NULL END) AS '三月份' FROM table1 t1 LEFT JOIN table2 t2 ON t1.部门dep=t2.部门dep GROUP BY 部门dep 左连接与右连接(left join 表名 on 连接语句)
Left join与right join区别就是:左连接是以主表为主,显示所有内容,若连接的表没有与它对应的值则不显示或显示为null,右连接同理。
内连接
用一条SQL语句查询出每门课都大于80分的学生姓名(表名为score)
  Select distinct(去重) name from score where name not in(
    Select name from score where fenshu<=80;
  ); Union all、union(下分别为t1.t2)
 
SELECT * FROM t1 UNION ALL SELECT * FROM t2 (不去除重复)===》t3
SELECT * FROM t1 UNION SELECT * FROM t2 (去除重复)=====>t4

(上分别为t3.t4)

 

Mysql表,列,库的增删查改的更多相关文章

  1. Java连接MySQL数据库及简单的增删查改操作

    主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...

  2. nodejs连接mysql并进行简单的增删查改

    最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...

  3. mybatis、spring、mysql、maven实现简单增删查改

    之前写过的mybatis博客作为学习mybatis.spring还是不太合适. 现在找到一个不错的例子,首先将这个完整的mybatis增删查改例子在本地上实现出来,然后再进行学习. 项目结构与运行结果 ...

  4. mysql数据库,数据表,数据的增删查改语句

    查询mysql支持的引擎 show engines; 查询mysql支持的字符集 show character set; 设置mysql默认存储引擎 set default_storage_engin ...

  5. SQLServer数据操作(建库、建表以及数据的增删查改)

              SQLSever数据操作   一.建立数据库:   create database DB ---数据库名称 (          name=data1 --文件名,         ...

  6. SQLServer数据操作(建库、建表以及数据的增删查改)[转]

    SQLSever数据操作   一.建立数据库:   create database DB ---数据库名称 (          name=data1 --文件名,          filename ...

  7. MySQL学习-入门语句以及增删查改

    1. SQL入门语句 SQL,指结构化查询语言,全称是 Structured Query Language,是一种 ANSI(American National Standards Institute ...

  8. MySQL学习笔记1(增删查改)

    创建表: /* 创建数据库 create database 数据库名; */ CREATE DATABASE mybase; /* 使用数据库 use 数据库名 */ USE mybase; /* 创 ...

  9. PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)

    php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...

随机推荐

  1. asp.net core 2.1的全局模型验证统一方案

    网上的统一模型验证,有效到asp.net core 2.0 2.1的mvc还可以用 webapi嘛,想想就好,自己琢磨了一顿,才发现这东西应该这样玩 首先吧api上面的特性注释了 //[ApiCont ...

  2. xml schema杂谈

    有一些场景,我们需要写xml,又需要对内容进行约束,比如智能输入某个值范围,只能写入固定值 这个时候我们就需要xml schema 这个,百度解释为 XML Schema 的作用是定义 XML 文档的 ...

  3. 【NOI2001】方程的解数 题解(dfs+哈希)

    题目描述 已知一个方程 k1*x1^p1+k2*x2^p2……+kn*xn^pn=0. 求解的个数.其中1<=x<=150,1<=p<=6; 答案在int范围内 输入格式 第一 ...

  4. requests入门实践02_下载斗图拉最新表情包

    新版本移步:https://www.cnblogs.com/zy7y/p/13376228.html 下载斗图拉最新表情包 要爬取的目标所在网址:http://www.doutula.com/phot ...

  5. 【av68676164(p31-p32)】Windows和Linux同步机制

    4.6.1 Windows同步机制 临界区(CRITICAL_SECTION) 在进程内使用,保证仅一个线程可以申请到该对象 临界区内是临界资源的访问 相关的API函数 初始化临界区 WINBASEA ...

  6. 微信小程序多列选择器

    wxml <picker mode="multiSelector" bindchange="bindMultiPickerChange2" bindcol ...

  7. 论如何实现最强大脑黑白迭代(c++附代码)

    最近看了最强大脑,对节目中的黑白迭代很感兴趣,就自己写了一个500多行的程序.燃鹅,只实现了一部分功能,还非常简陋.无奈之下,我只好从网上下载了一份代码,然后自己稍加修改就成了一份半改编的代码. 虽然 ...

  8. Homekit_人体感应器

    前置需求: 苹果手机一台 Homekit人体感应一台 USB供电线一根 这款产品内置人体红外感应器,使用圆环设计,增大了其接触面积,使感应变得更加灵敏,重量轻,方便将其粘贴到墙上,同时支持二次开发,如 ...

  9. 【原创】Linux虚拟化KVM-Qemu分析(一)

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

  10. windows服务器下,mysql运行一段时间之后忽然无法连接,但是mysql服务启动正常

    出现这种情况以前都是重启服务器可以解决,但是治标不治本,一段时间之后仍然会出现此问题. 此问题不是mysql应用程序的问题而是windows server system 的配置问题.因此需要修改win ...