二、基本语法

一、库管理

1.查询数据库
SHOW databases;
2.创建数据库
CREATE DATABASE newDB [DEFAULT CHARACTER SET utf8];
3.查询数据库信息
SHOW CREATE DATABASE newDB;
4.删除数据库
DROP DATABASE newDB;
5.修改数据库
ALERT DATABASE newDB DEFAULT CHARACTER SET gbk;
6.使用(进入)数据库
USE newDB;

二、表管理

1.查询所有表
SHOW TABLES;
2.创建表
CREATE TABLE student(sid INT, sname VARCHAR(20));
3.查询表信息
SHOW CREATE TABLE student;
4.查询表结构
  • 简单表信息
DESC student;

DESCRIBE student;
  • 查看表的列名
SHOW COLUMNS FROM tableName from dataBaseName;

SHOW COLUMNS FROM dataBaseName.tableName;
  • 查询具体列的信息
DESCRIBE student id;
  • 查询指定表的列信息
SELECT * FROM information_schema.columns WHERE table_name = 'student';
5.删除表
DROP TABLE student;
6.新增表字段
ALTER TABLE student ADD age INT, sex VARCHAR(8);
7.删除表字段
ALTER TABLE student DROP sex;
8.修改字段类型
ALTER TABLE student MODIFY age VARCHAR(20);
9.修改字段名称
ALTER TABLE student CHANGE age sex VARCHAR(5);
10.修改表名
ALTER TABLE student RENAME teacher;

三、表数据管理-增删改复制

1.增加
INSERT INTO student[(name, age)] VALUES('Schuyler', 1);
2.删除
DELETE FROM student;
DELETE FROM student WHERE id = 1;
DELETE FROM student WHERE id IN (1, 2, 3);
TRUNCATE TABLE student;

这里提一下TRUNCATE语句的特点,TRUNCATE语句是一个能够快速清空资料表内所有资料的SQL语法,它将整个表结构粉碎重建,可以将自增长重置,不可以回滚且不能带条件,如果希望快速完整地清除整个表数据,可以优先考虑TRUNCATE语句。

另外,建议使用DELETE语句最好有加上WHERE的习惯,不然可能导致删库跑路的局面

3.修改
UPDATE student SET age = 23;
UPFATE student SET age = 23 where name = 'Schuyler';
4.复制
  • CREATE: 因为语句执行会自动创建tableB,因此要求tableB表在此之前不存在
CREATE TABLE tableB SELECT * FROM tableA;
  • INSERT
INSERT INTO testA (id,name) SELECT id, name FROM testB;

四、表数据管理-查询

1.基本查询
SELECT * FROM student;
SELECT id '编号', name '名字' FROM student;
SELECT (id + age) '只能数字相加' FROM student;
2.基础运算符
>、<、>=、<=、=、<>、BETWEEN ... AND、AND、OR、IS NULL、IS NOT NULL
3.模糊查询
SELECT * FROM student WHERE name LIKE '%chuyle_';
4.聚合查询
  • 聚合查询的主要函数有:SUM()、AVG()、MAX()、MIN()、COUNT()

COUNT()不会计算值为NULL的个数

SELECT COUNT(*) FROM student  
5.分页查询
SELECT * FROM student LIMIT 0,2;

请注意,一般情况下分页条件放在语句的最后面

可以通过(当前页-1)*每页条数来获取当前位置

6.排序
SELECT * FROM student ORDER BY id ASC/DESC;
7.分组查询
SELECT *,COUNT(*) FROM student GROUP BY name;
8.排除重复数据
SELECT DISTINCT (name '名字') FROM student;
9.合并查询

前提: 合并查询的两个表中要有相同数量的字段和相同的字段名称
- UNION: 合并查询,排除重复数据

SELECT id, name FROM testA
UNION
SELECT id, name FROM testB
  • UNION ALL: 合并查询,允许重复数据
SELECT id, name FROM testA
UNION ALL
SELECT id, name FROM testB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值