Mysql数据库的SQL命令(基础部分单表操作)
1. DDL(Data Definition Language)-数据库操作
SHOW DATABASES;
CREATE DATABASES 数据库名;
USE 数据库名;
SELECT DATABAS(); //查看当前位于那一个数据库当中
DROP DATABASE 数据库名;
2. DDL(Data Definition Language)-表操作
SHOW TABLES;
CREATE TABLE name(field type,field type);
DESC name;
SHOW CREATE TABLE name; //查询建表语句
ALTER TABLE name ADD/CHANGE/DROP/RENAME TO....;//添加字段,修改字段名称及类型,删除字段,修改表名
DROP TABLE name; //删除表
3. DML(Data Manipulation Language)-数据操作
INSERT INTO name(字段1,字段2,...) VLAUES(值1,值2,,...) ;
INSERT INTO name VLAUES(值1,值2,,...); //所有对应的字段
INSERT INTO name VLAUES(值1,值2,,...) ,(值1,值2,,...),(值1,值2,,...); //插入多条数据
UPDATE name set 字段=字段 WHERE 条件 ;
UPDATE name set 字段=字段; //修改所有的表的字段数据
DELETE FROM name WHERE 条件; //删除指定数据
DELETE FROM name ; //删除所有数据
4. DQL(Data Query Language)-数据查询语言
- 基础查询
SELECT 字段1,字段2,字段3... FROM name;
SELECT * FROM name;
SELECT 字段1[AS name],字段2[AS name],字段3[AS name], FROM name;
SELECT DISTINCT 字段字段1,字段2,字段3... FROM name; //去重
-
条件查询这里就不详细的写了,简单来说就是在where后面添加条件的雨具,select后面跟的内部不变,下面是常见的一下条件:
- 相等条件(=):用于匹配字段与给定值相等的记录。
- 不相等条件(!=或<>):用于匹配字段与给定值不相等的记录。
- 大于条件(>):用于匹配字段大于给定值的记录。
- 小于条件(<):用于匹配字段小于给定值的记录。
- 大于等于条件(>=):用于匹配字段大于或等于给定值的记录。
- 小于等于条件(<=):用于匹配字段小于或等于给定值的记录。
- 模糊匹配条件(LIKE):用于模糊匹配字段与模式相符的记录。
- IN条件:用于匹配字段值在给定值列表中的记录。
- NOT IN条件:用于匹配字段值不在给定值列表中的记录。
- BETWEEN条件:用于匹配字段值在给定范围内的记录。
- IS NULL条件:用于匹配字段值为空(NULL)的记录。
- IS NOT NULL条件:用于匹配字段值不为空的记录。
-
下面是like的一些常见用法
1、查询名字中含有张的学生信息
select * from student where sname like ‘%张%’;
2、查询名字以张开头的学生信息
select * from student where sname like ‘张%’;
3、查询名字以人结尾的学生信息
select * from student where sname like ‘%人’;
4、查询名字中第二个字为心的学生信息
select * from student where sname like ‘_心%’;
5、查询名字中第三个字为心的学生信息
select * from student where sname like ‘__心%’;
总结,也就是如果是一个占位符我们可以使用—,如果是多个占位符我们需要使用%。
- 查询的时候我们也会和聚合函数一起使用,一般作用于字段 ,我们接下来介绍一下聚合函数,我们以示例给出
SELECT count(*) FROM name;
SELECT avg(age) FROM name;
SELECT max(age) FROM name;
SELECT sum(num) FROM name;
总结:聚合函数主要是为了统计信息,也可以和其他的条件组合使用。
- 分组查询
SELECT 字段列表 DROM 表名[WHERE 条件] GROUP BY 分组字段名[HAVING 分组后的过滤条件];
- where 和 having 的区别
- 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组,而having是分组之后的结果进行过滤。
- 判断条件不同:where不能对聚合函数进行判断,而having可以。
- 排序查询
SELECT 字段列表 FROM ORDER BY 字段1 排序方式1,字段2 排序方式2:
- 分页查询
SELECT 字段列表 FROM LIMIT 起始索引,查询记录数;
- 起始索引 = (页码-1)*每页的展示记录数
5. DCL(Data Control Language)- 数据控制语言
- 用户管理
1. 查询用户
USE mysql;
SELECT * FROM user;
2. 创建用户
CREATE USER '用户名‘@’主机名' IDENTIFIED BY ‘密码’;
3. 修改用户密码
ALTER USER ‘用户名‘@’主机名’ IDENTIFIED WITH mysql_native_passwprd BY '新密码';
4. 删除用户
DROP USER ‘用户名‘@’主机名’;
- 权限控制
1.查询权限
SHOW GRANTS '用户名‘@’主机名';
2. 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名‘@’主机名';
3.撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名‘@’主机名';
注意:数据库名和表名都可以使用 * 进行替换