SQL基本语法

SQL 基本语法

表库操作

  • 创建表
    create table 表名(
        字段名 类型(长度) 约束,
        字段名 类型(长度) 约束
    );
  • 创建主键约束

id int primary key,

primary key(id) // 在创建表最后创建主键约束

  • 删除主键

alter table 表名 drop primary key;

  • 主键自动增长

主键字段后加auto_increment(只适用MySQL)

  • 查看所有的库

show databases

  • 使用库

use 库名

  • 查看所有的表

show tables;

  • 查看表的结构

desc 表名;

  • 修改表名

rename table 表名 to 新表名;

  • 删除表

drop table 表名;

数据操作

  • 插入数据

insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);

  • 更新数据

update 表名 set 字段名=值,字段名=值 where 条件;

  • 删除数据

delete from 表名 [where 条件];

查询操作

  • 查询并且去掉重复记录

select distinct 字段 from 表名 where 条件;

  • 别名查询

select * from 表名 as 别名 where 条件;

select 字段名 as 别名 from 表名 where 条件;;

  • while条件的种类
  • Or 和 in

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

SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;

  • like

SELECT * FROM zhangwu WHERE name LIKE "%支出%";

  • not null

SELECT * FROM zhangwu WHERE name IS NOT NULL;

排序查询

order by 列名 [desc][asc] desc 降序, asc 升序(默认) 最好将order by 函数放到最后

SELECT * FROM zhangwu ORDER BY zmoney DESC ;

聚合函数

  • 聚合函数查询是纵向查询,
  • count:统计指定列不为NULL的记录行数;
  • sum:计算指定列的数值和,如果指定列;
  • max:计算指定列的最大值,
  • min:计算指定列的最小值,
  • avg:计算指定列的平均值

SELECT COUNT(*)AS'count' FROM zhangwu

SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%收入%'

分组查询

分组查询是指使用group by字句对查询信息进行分组,一般和聚合函数一起用, 查询相同字段的数据

SELECT 字段1,字段2… FROM 表名 GROUP BY 字段 HAVING 条件;

分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条件。

having与where的区别

1.having是在分组后对数据进行过滤.

2.where是在分组前对数据进行过滤

3.having后面可以使用分组函数(统计函数)

4.where后面不可以使用分组函数。

select count(id),name from gDemo GROUP BY name // 根据名字分组, 即查询相同名字的列数有多少

列操作

  • 添加列

alter table 表名 add 列名 类型(长度) 约束;

  • 修改列

alter table 表名 modify 列名 类型(长度) 约束;

  • 更换列

alter table 表名 change 旧列名 新列名 类型(长度) 约束;

  • 删除列

alter table 表名 drop 列名;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

mysql 多表关联查询 实现 全文匹配的 模糊搜索接口 SQLmysql 多表关联查询 实现 全文匹配的 模糊搜索接口 SQL

在mysql中,有时我们在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更...

592
来自专栏LanceToBigData

MySQL(五)之DDL(数据定义语言)与六大约束

前言 前面在数据库的讲解中,其实很多东西都非常的细节,在以前的学习过程中我都是没有注意到的。可能在以后的工作中会碰到所以都是做了记录的。 接下来,我将分享的是M...

2379
来自专栏Java后端生活

MySQL(十一)DQL之联合查询

1506
来自专栏Java架构师历程

Mysql常用查询语句

一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=<

582
来自专栏撸码那些事

MySQL——索引实现原理

在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。

552
来自专栏Python爬虫实战

MySQL 从零开始:06 数据检索

在第四节《表的增删改查》中已经介绍了 select 查询记录的几种使用方法:查询所有行的所有列、查询指定行的所有列、查询所有行的指定列和查询指定行的指定列。本文...

832
来自专栏PHP技术

mysql

cross join :笛卡尔交集。 Inner join :内连接。 left join :只要满足左边表的需求就可以了,右表有无都可以。 right ...

3478
来自专栏跟着阿笨一起玩NET

sql 在not in 子查询有null值情况下经常出现的陷阱

如果下:Table_A表和Table_B表,要求查询出在Table_A表中不在Table_B表中的记录。

311
来自专栏编程心路

写给新手的Mysql入门指南(一)

关键字最好大写,这样便于阅读。可以用windows的cmd运行工具对数据库操作,前提是mysql的安装目录的子目录bin的路径添加导论系统变量PATH中,mys...

753
来自专栏calmound

操作数据表中的记录

插入记录   语法:INSERT [INTO] [(tbl_name,...)] {VALUE|VALUE} ({expr|DEFAULT},...),(......

3197

扫码关注云+社区