通过本文主要向大家介绍了mysql,sql语句等相关知识,希望本文的分享对您有所帮助
一、库管理
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