MySQL数据库是一种关系型数据库,而关系型数据库管理系统通用的语言就是SQL,全称叫做结构化查询语言(Structured Query Language)。关系型数据库不只有MySQL一种,还有很多,比如Oracle、SQLserver等,这些不同的数据库生产商都支持SQL语句。
常见的关系型数据库: https://blog.csdn.net/WebSpider_1/article/details/106650605.
(数据库操作语句)
-- 创建数据库[可以同时设置字符集]
create database 数据库名 [character set 字符集];
-- 使用创建的数据库
use 数据库名;
-- 删除数据库
drop database 数据库名;
-- 查看所有的数据库
show databases;
-- 查看数据库的创建语句(可视化创建的自动生成)
show create database 数据库名;
(数据表操作语句)
-- 创建表
create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
...
);
-- 删除表
drop table 表名;
-- 修改表名
rename table 表名 to 新表名;
-- 修改表字符集
alter table 表名 character set 字符集
-- 添加列
alter table 表名 add 列名 类型(长度) [约束];
-- 删除列
alter table 表名 drop 列名;
-- 修改列的类型(长度)及约束
alter table 表名 modify 列名 类型(长度) 约束;
-- 修改列名
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
-- 查看所有的数据表
show tables;
-- 查看数据表的创建语句
show create table 表名;
-- 查看数据表的结构
desc 表名;
-- 向表中插入某些字段(字段与值一一对应)
insert into 表名 (字段1,字段2,字段3,...) values (值1,值2,值3,...);
-- 向表中插入所有字段时,字段可以省略不写,但是值的顺序需与表中字段的顺序一致
insert into 表名 values(值1,值2,值3,..);
-- 删除表的记录(delete一条条删除,不重置自动增长列的记录数)
delete from 表名 [where 条件];
-- 删除表的记录(turncate直接将整表记录删除,同时重置自动增长列)
turncate table 表名
-- 更改所有记录的指定字段值
update 表名 set 字段名1=值1,字段名2=值2,...;
-- 更改符合条件的记录的字段值
update 表名 set 字段名1=值1,字段名2=值2,... where 条件;
-- 创建只能在指定ip地址上登录的用户
create user '用户名'@'localhost' identified by '用户名';
-- 创建一个不受ip地址限制的用户
create user '用户名'@'%' identified by '用户名';
-- 删除用户
drop user '用户名'@'主机名';
-- 把mydb数据库的权限赋予给aaa用户
grant 权限名 on mydb.* to '用户名'@'localhost';
-- 撤销用户的权限
revoke 权限名 on mydb.* from '用户名'@'localhost';
-- 查询表的所有记录[去掉重复地]
select [distinct] * from 表名 where 条件;
-- 查询指定列的记录
select [distinct] 列名1,列名2,列名3,.. from 表名 where 条件;
-- 查询结果按照列值排序(asc 升序(默认) desc降序)
select * from 表名 where 条件 order by 排序字段名 asc|desc;
-- 查询表的记录条数[满足某一条件的]
select count(*) from 表名 [where 条件];
-- 查询结果按照字段分组
select * from 表名 where 查询条件 group by 分组字段名 having 分组条件;
-- 内连接查询
select * from 表1 inner join 表2 on 连接条件;
-- 左外连接
select * from 表1 inner join 表2 on 连接条件;
以上列出的是四种SQL语句中比较简单和常用的语句,然后在实际开发使用中,更多是这些简单语句的各种组合,尤其是DQL语句。查询是在数据库操作中使用最多的,其中多表的查询还是较为复杂的,所以查询语句的学习和使用需要结合具体需求不断的实践。