#创建数据库

DROP DATABASE IF EXISTS 数据库名;

CREATE DATABASE 数据库名;

#展示所有的数据库:

SHOW DATABASES;

#查看某个数据库的定义信息:

SHOW CREATE DATABASE 数据库名;

#删除数据库:

DROP DATABASE 数据库名;

#使用某个(切换)数据库:

USE 数据库名;

#查看正在使用的数据库:

SELECT DATABASE();

#展示所有的数据表:

SHOW TABLES;

#-------------------------------------------------------------------------

#创建数据表:

PRIMARY KEY AUTO_INCREMENT 主键 自动增长

CREATE TABLE 表名(列名1 该列的类型,列名2 该列的类型,列名3 该列的类型);

#删除数据表

DROP TABLE 数据表名;

#查看数据表结构

DESCRIBE 数据表名;

#-------------------------------------------------------------------------

#基本的语句

#增:插入一条: 

INSERT INTO 表名(列名1,列名2,列名3) VALUES(值1,值2,值3);

#批量插入:

INSERT INTO 表名(列名1,列名2,列名3) VALUES

(值1,值2,值3),

(值1,值2,值3),

(值1,值2,值3)

#-------------------------------------------------------------------------

#SQL更新语句,对数据表中原有的数据进行修改
   #语法格式:
       UPDATE 表名  SET 字段1=值1, 字段2=值2  WHERE 修改的条件
       UPDATE gjp_ledger SET money = 50,ldesc='家庭PARTY' 
     #注意,UPDATE修改表数据的时候,加上WHERE条件

UPDATE gjp_ledger SET money = 724 , ldesc = '家庭PARTY' WHERE lid=1

#-------------------------------------------------------------------------

#对已经做好的数据表,进行结构上的修改

CREATE TABLE temp(
    id INT PRIMARY KEY AUTO_INCREMENT,
    t_name VARCHAR(50),
    t_text VARCHAR(100),
    t_money DOUBLE

)

-- RENAME TABLE 旧表名 TO 新表名 

RENAME TABLE temp TO  newtemp

-- ALTER TABLE 表名 ADD 列名 类型; 添加列操作

ALTER TABLE temp ADD t_day DATE

-- ALTER TABLE 表名 MODIFY 列名 类型;修改列类型

ALTER TABLE temp MODIFY t_money INT

-- ALTER TABLE 表名 DROP 列名;  删除列

ALTER TABLE temp DROP t_day

-- ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;  修改列名称

ALTER TABLE temp CHANGE t_money newt_money DOUBLE

-- DROP TABLE 表名

DROP TABLE temp

#-------------------------------------------------------------------------

#删除数据表中的数据
   #语法:
     DELETE FROM 表名  删除表中的所有数据
    
     DELETE FROM 表名 WHERE 条件    删除的是指定满足条件的数据

DELETE FROM gjp_ledger WHERE lid = 2

#-------------------------------------------------------------------------

#查询

#DOS命令行执行SQL语句可能会出现乱码问题,怎么解决?
   SET NAMES 'GBK'
   SELECT 列名1,列名2...  FROM 表名  #查看指定列
   SELECT * FROM 表名;     #可以查看所有的列
   SELECT DISTINCT ACCOUNT FROM 表名;  #查询的时候,会去掉ACCOUNT类的重复项。
   SELECT * FROM 表名 WHERE 条件;    #带条件的查询

#条件的分类:
   #1、比较运算符
     > < >= <= = !=(<>)
   #2、逻辑运算符:
     AND, OR , NOT  
   #3、区间的判断
     BETWEEN 值1 AND 值2;  #值2必须大于值1
   #4、固定值得判断
     IN (值1,值2,值3);
   #5、模糊查询:
     A:% 可以匹配多个  
     B:_ 只能匹配一个

#-------------------------------------------------------------------------

#SQL语句中的WHERE条件查询

-- 查询所有支出记录

SELECT * FROM gjp_ledger WHERE parent = '支出'

-- 查询出金额价格大于1000的信息

SELECT * FROM gjp_ledger WHERE money > 1000

-- 查询出金额在2000-5000之间的账务信息

SELECT * FROM gjp_ledger WHERE money >= 2000 AND money <=5000

SELECT * FROM GJP_LEDGER WHERE MONEY BETWEEN 2000 AND 5000

-- 查询出金额是1000或5000或3500的商品信息

SELECT * FROM gjp_ledger WHERE money = 1000 OR money = 5000 OR money = 3500

SELECT * FROM gjp_ledger WHERE money IN (1000,5000,3500)

-- 查询出账务的银行有工商银行的账务信息 , 模糊查询

-- 模糊查询出,ACCOUT 开头是工商就可以,后面必须是2个字符

SELECT * FROM gjp_ledger WHERE account LIKE '工商__'

-- 模糊查询出,ACCOUT 开头只要是工商就可以

SELECT * FROM gjp_ledger WHERE account LIKE '工商%'

-- 模糊查询出,ACCOUNT 只要有工商就可以

SELECT * FROM gjp_ledger WHERE account LIKE '%工商%'

-- 查询出账务ACCONT不为NULL账务信息

SELECT * FROM gjp_ledger WHERE account IS NOT  NULL

#-------------------------------------------------------------------------

# 聚合函数

-- COUNT  统计符合查询条件的数据,共有多少行

SELECT COUNT(*) AS 'COUNT' FROM gjp_ledger;

-- COUNT 统计所有工商银行的内容,共有多少条

SELECT COUNT(*) FROM gjp_ledger WHERE account LIKE '%工商银行%'

-- 统计账务表中金额大于3000的有多少条记录

SELECT COUNT(*) FROM gjp_ledger WHERE money > 3000

-- SELECT SUM(求和列,数字) FROM 表名

-- 查询账务表,求出MONEY字段的和

SELECT SUM(money) FROM gjp_ledger

-- 查询账务表,统计所有支出的金额总和

SELECT SUM(money) FROM gjp_ledger WHERE parent = '支出'

-- MAX,MIN 求出最大和最小值

-- 查询账务表,统计出 支出中的最大值 和 收入中的最小值

SELECT MAX(money) FROM gjp_ledger WHERE parent = '支出'

SELECT MIN(money) FROM gjp_ledger WHERE parent = '收入'

-- AVG(自段) 计算这个字段的平均数

-- 查询账务表,计算出,所有支出的平均数

SELECT AVG(money) FROM gjp_ledger WHERE  parent = '支出'

#-------------------------------------------------------------------------

# 查询数据表后,对结果进行排序
  
   ORDER BY 子句
  
  #语法格式:写在查询语句的最后面
      ORDER BY 排序的列名 [DESC] 倒序排列

-- 查询账务表,使用MONEY字段,进行排序

SELECT * FROM gjp_ledger ORDER BY money

#-------------------------------------------------------------------------

#分组查询
    GROUP BY 要分组的列名
    #必须配合聚合函数

-- 我们要统计出GJP_LEDGER表中所有分类账务的总数量

-- 查询出,支出的共计多少钱,收入的共计多少钱

SELECT SUM(money),parent FROM gjp_ledger GROUP BY parent

-- 查询出,所有的金额总和,账务分类

SELECT SUM(money),parent,account FROM gjp_ledger GROUP BY parent,account

-- 查询出,支出的共计多少钱,收入的共计多少钱, 只显示大于20000元的

-- HAVING 子句,跟随分组,分组后,对结果再次过滤

SELECT SUM(money)AS 'summoney',parent FROM gjp_ledger  GROUP BY parent

HAVING summoney >= 20000

#-------------------------------------------------------------------------

SQL基本语法总结的更多相关文章

  1. SQL基础语法(二)

    SQL SELECT 语句 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL ...

  2. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  3. SQL select 语法(转)

    SQL 里面最常用的命令是 SELECT 语句,用于检索数据.语法是: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expr ...

  4. SQL基础语法笔记教程整理

    PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...

  5. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  6. MySQL基本语法(一):和SQL Server语法的差异小归纳

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  7. sql基本语法

    sql基本语法 sql server 查询 多表查询 直接多表查询 select * from st_profiles,st_score_report 上面的语句将会产生两个表的笛卡尔乘积,其中大部分 ...

  8. SQL基础语法提纲

    一.SQL需知5点 1.SQL是Structured Query Language的缩写,是用来访问关系型数据库的,非过程化的,高级编程语言. 2.SQL具有语法高度综合统一,高度的非过程化,对集合进 ...

  9. SQL 基础语法笔记教程整理

    最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...

  10. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

随机推荐

  1. nagios监控windows配置

    1.下载并安装windows插件 http://sourceforge.net/projects/nscplus/NSCP-0.4.1.73-x64.msi2.windows端配置 nsclient. ...

  2. 机器学习、图像识别方面 书籍推荐 via zhihu

    机器学习.图像识别方面 书籍推荐 作者:小涛 链接:https://www.zhihu.com/question/20523667/answer/97384340 来源:知乎 著作权归作者所有.商业转 ...

  3. Tomcat的安装及使用

    下面是我搭建Tomcat的过程,记录一下 下载地址:http://tomcat.apache.org/  我下载的是8.5.30版本 安装 下载完成后解压到D盘 (配置变量的的教程网上大把随便搜) 1 ...

  4. 再学IHanlder 类----------------关于Asp.net与iis原理网上看博客收获写一个验证码用一般处理程序记的好长时间前就写过不过现在再看有点不一样的感觉

    建一个web网站 新建一般处理程序直接贴代码: using System;using System.Collections.Generic;using System.Linq;using System ...

  5. 关于 Number() parsint() abs() 的区别

    1. parseInt(‘’)      parseInt() 函数可解析一个字符串,并返回一个整数. 如果第一个字符不是数字或者负号,parseInt() 就会返回NaN 2.Number()    ...

  6. Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key.

    Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key. 1.rea ...

  7. unity 代码添加AnimationEvent

    经过测试只要Animator跟继承monoBehaviour的类A在同一个节点上,就可以注册类A中的public 方法,含0或1个参数(int,float,object,string),注意:只能是0 ...

  8. JAVA编写的断点续传小程序

    上了一周的课,今天终于可以休息了,太棒了,今天闲着无聊使用java语言写了一个断点续传的小程序来分享给大家, 首先要下载个用于网络请求的框架:我这里给出地址,是用的Apache的HttpClient: ...

  9. VM Fusion配置静态IP和物理机通讯

    Vm虚拟机在WIndow系统上和物理机进行通讯很方便,但是在Mac上简直跟吃了屎一样难用的要死,物理机断了网以后还不能和虚拟机通讯, 如果在windows上做开发,也是简直和吃了屎一样,难用的要屎,这 ...

  10. FISCO BCOS WorkShop | 区块链开发特训营,开课啦!

    FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...