SQL笔记

SQL分类

1.DDL (操作数据库,数据表的SQL)
2.DML (操作数据表数据的SQL,增删改)
3.DQL (查询数据表的数据的SQL)
4.DCL (设置数据库访问权限的SQL)

DDL (操作数据库,数据表的SQL)

数据库

查看有多少个数据库
SHOW DATABASES;
创建数据库
CREATE DATABASE IF NOT EXISTS LXDB(数据库名称) CHARATER SET UTF8;
查看数据库的建库语句,查看数据库使用的字符集
SHOW CREATE DATABASE LXDB(数据库名称);

查看数据库使用的字符集

查看当前正在使用的数据库
SELECT  DATABASE();
选中or切换数据库 USE
USE LXDB(数据库名称);
修改数据库的字符集
ALERT DATABASE LXDB CHARACTER SET UTF8;
删除数据库
DROP DATABASE  IF EXISTS LXDB;

数据表

查看当前数据库中有多少张表
SHOW TABLES;
创建表 CREATE
新增一张表
CREATE TABLE IF NOT EXISTS TB_STUDENT(
	ID INT,
	NAME VARCHAR(32),
	AGE INT,
	SCORE DOUBLE(4,1), -- 最多4位,保留小数点后一位
	BIRTHDAY DATA,
	INSERT_TIME TIMESTAMP
);
复制表 LIKE
CREATE TABLE IF NOT EXISTS TB_STU LIKE TB_STUDENT;
查看表结构
DESC TB_STUDENT;
删除表 DROP
DROP  TABLE  IF EXISTS  TB_STUDENT;
修改表的结构 ALTER
修改表名 RENAME
ALTER TABLE TB_STUDENT RENAME TO TB_STU;
修改表的字符集
ALTER TABLE TB_STU CHARACTER SET  UTF8;
新增一列 ADD
ALTER TABLE TB_STU  ADD 列名 数据类型;
修改列名和数据类型 CHANGE
ALTER TABLE TB_STU  CHANGE 列名 新列名 新数据类型;
修改指定列的数据类型 MODIFY
ALTER TABLE TB_STU MODIFY 列名 新数据类型

DML (操作数据表数据的SQL,增删改)

增 INSERT

新增一条数据

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

删 DELETE

删除指定的数据 DELETE
DELETE FROM 表名 [WHERE  条件];
删除整张表的数据 TRUNCATE
DELETE FROM 表名; -- 不推荐,表中有多少条SQL就会执行多少次删除操作
TRUNCATE TABLE  表名;  -- 推荐, 先删除表,然后再创建一张一样的表。无论表中有多少条数据,都执行两条语句,删除表,创建表。

TRUNCATE TABLE 内部应该是先复制了表再删除表
两种删除表的数据 耗时对比(同一电脑,相同数据量):
比较两种方式删除表数据的耗时

改 UPDATE

修改表中的数据
UPDATE  表名 SET 列名1 = 值1,列名2 = 值2  [WHERE 条件];

DQL (查询数据表中数据的SQL)

排序查询 ORDER BY

SELECT * FROM 表名 ORDER BY 列名 ASC; -- 默认升序排序  从小到大
SELECT * FORM 表名 ORDER BY 列名 DESC; --  降序排序  从大到小

聚合函数

聚合函数是指:把表中的某一列当成一个整体,然后进行统计运算等操作

COUNT 统计个数
SELECT  COUNT(AGE) FROM 表名;
SELECT COUNT(IFNULL(AGE,0)) FROM 表名;
AVG 平均值
SUM 求和
MAX 最大值
MIN 最小值

分组查询 GROUP BY

按照表中的某一列的值来进行分组

SELECT SEX COUNT(ID)  FROM 表名  WHERE  条件(SCORE>80) GROUP BY SEX(列名)  HAVING 聚合函数(COUNT(ID)>3)

分页查询 Limit

Limit 开始的索引,页码
开始的索引 = (当前页-1)*页码

SELECT * FROM 表名 LIMIT 开始的索引,页码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值