SQL基本语法总结
#创建数据库
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基本语法总结的更多相关文章
- SQL基础语法(二)
SQL SELECT 语句 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL ...
- Sql常用语法以及名词解释
Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...
- SQL select 语法(转)
SQL 里面最常用的命令是 SELECT 语句,用于检索数据.语法是: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expr ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- sql 常用语法汇总
Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...
- MySQL基本语法(一):和SQL Server语法的差异小归纳
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- sql基本语法
sql基本语法 sql server 查询 多表查询 直接多表查询 select * from st_profiles,st_score_report 上面的语句将会产生两个表的笛卡尔乘积,其中大部分 ...
- SQL基础语法提纲
一.SQL需知5点 1.SQL是Structured Query Language的缩写,是用来访问关系型数据库的,非过程化的,高级编程语言. 2.SQL具有语法高度综合统一,高度的非过程化,对集合进 ...
- SQL 基础语法笔记教程整理
最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...
- 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 ...
随机推荐
- printf函数指向串口的方法
简单地说:想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式),标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调 ...
- MAF框架的使用限制
虽然MAF实现了插件式开发,动态热插拨,AppDomain隔离等诸多优点,但是正因为它复杂的功能机制也带来了很多其它方面的使用限制,下面列出官方给出的MAF框架的使用限制. 1) 在应用主程序显示的插 ...
- linux下删除3分钟之前指定文件夹下的指定类型文件
如果想要修改crontab,一般做以下的几步就可以了 将crontab 推到一个自定义的文件上 crontab -l>;tmp 编辑这个文件,做需要的修改 vi tmp 推回crontab cr ...
- Java线程安全与多线程开发
互联网上充斥着对Java多线程编程的介绍,每篇文章都从不同的角度介绍并总结了该领域的内容.但大部分文章都没有说明多线程的实现本质,没能让开发者真正“过瘾”. 从Java的线程安全鼻祖内置锁介绍开始,让 ...
- 英语学习Start
- Vue拖拽组件列表实现动态页面配置
需求描述 最近在做一个后台系统,有一个功能产品需求是页面分为左右两部分,通过右边的组件列表来动态配置左边的页面视图,并且左边由组件拼装起来的视图,可以实现上下拖拽改变顺序,也可以删除. 根据这个需求我 ...
- Codeforces Round #401 (Div. 2)【A,B,C,D】
最近状态极差..水题不想写,难题咬不动..哎,CF的题那么简单,还搞崩了= =.真是巨菜无比. Codeforces777A 题意:略. 思路: 构造出3!次变换,然后输出就好. Code: #inc ...
- 转载-聊一聊深度学习的activation function
目录 1. 背景 2. 深度学习中常见的激活函数 2.1 Sigmoid函数 2.2 tanh函数 2.3 ReLU函数 2.4 Leaky ReLu函数 2.5 ELU(Exponential Li ...
- 洛谷P3434 [POI2006]KRA-The Disks
P3434 [POI2006]KRA-The Disks 题目描述 For his birthday present little Johnny has received from his paren ...
- 加权并查集(银河英雄传说,Cube Stacking)
洛谷P1196 银河英雄传说 题目描述 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展.宇宙历七九九年,银河系的两大军事集团在 ...