MySQL常用语句

本文详细介绍了数据库操作的四大语言:数据定义语言(DDL)用于创建和修改数据库对象,如创建、删除数据库和表;数据操作语言(DML)涉及数据的插入、更新和删除;数据控制语言(DCL)用于权限管理和安全性;数据查询语言(DQL)用于查询数据,包括聚合函数的使用和查询优化。还提到了主键、非空和唯一约束的概念,以及如何进行分页查询。
摘要由CSDN通过智能技术生成

1. DDL: 数据定义语言,用来定义数据库对象:库、表、列等;

查看所有数据库名称:SHOW DATABASES;
切换数据库:USE mydb1;
创建数据库:CREATE DATABASE[IF NOT EXISTS]mydb2;
CREATE DATABASE mydb2;
删除数据库:DROP DATABASE [IF EXISTS] mydb2;
DROP DATABASE mydb2;
修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8;

查看当前数据库中所有表名称:SHOW TABLES;
查看指定表的创建语句:SHOW CREATE TABLE emp;
查看表结构:DESC emp;
删除表:DROP TABLE emp;
给stu表添加classname列:ALTER TABLE stu ADD (classname VARCHAR(100));

创建表:
CREATE TABLE emp(
eid CHAR(6),
ename VARCHAR(20),
job VARCHAR (30),
emptno INT
);


2. DML :数据操作语言,用来定义数据库记录(数据)

插入数据:
INSERT INTO emp(eid, ename,job,emptno) VALUES(‘e_1001’, ‘zhangSan’,‘学生’, 20);
修改数据:
UPDATE emp SET ename=‘zhangSanSan’, job=‘teacher’ WHERE eid=‘e_1001’;
删除数据:
DELETE FROM emp WHERE eid=‘e_1001’;


3. DCL :数据控制语言,用来定义访问权限和安全级别


4. DQL :数据查询语言,用来查询记录(数据)

语法:
SELECT selection_list /要查询的列名称/
FROM table_list /要查询的表名称/
WHERE CONDITION /行条件/
GROUP BY grouping_columns /对结果分组/
HAVING CONDITION /分组后的行条件/
ORDER BY sorting_columns /对结果分组/
LIMIT offset_start, ROW_COUNT /结果限定/

模糊查询:
查询姓名中第2个字母为“i”的学生记录
SELECT * FROM stu WHERE sname LIKE ‘_i%’;

去除重复记录:SELECT DISTINCT sal FROM emp;
查询所有学生记录,按年龄降序排序:SELECT * FROM stu ORDER BY age DESC;

表之间的关系
SELECT 列
FROM 表
WHERE 条件
GROUP BY 分组
HAVING 分组条件
ORDER BY 排序

聚合函数: 是用来做纵向运算的函数:
COUNT():统计指定列不为NULL的记录行数;
MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
查询emp表中有佣金的人数:SELECT COUNT(comm) cnt FROM emp;

分组查询:
查询每个部门的部门编号和每个部门的工资和:SELECT deptno, SUM(sal)FROM emp GROUP BY deptno;

LIMIT (当前页-1)*每页显示条数,每页显示条数。
查询5行记录,起始行从0开始:SELECT * FROM emp LIMIT 0, 5;

主键
指定主键约束使用PRIMARY KEY关键字
CREATE TABLE stu(
sid CHAR(6) PRIMARY KEY,
sname VARCHAR(20),
age INT,
gender VARCHAR(10)
);

主键自增长
创建表时设置主键自增长(主键必须是整型才可以自增长):
CREATE TABLE stu(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(20),
age INT
);

非空
指定非空约束:
CREATE TABLE stu(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
age INT
);

唯一
例如给stu表的sname字段指定唯一约束:
CREATE TABLE stu(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(10) UNIQUE
);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值