学习MySQL数据库的简单总结(2)

与MySQL数据库交互的语言(SQL)

MySQL数据库是一种关系型数据库,而关系型数据库管理系统通用的语言就是SQL,全称叫做结构化查询语言(Structured Query Language)。关系型数据库不只有MySQL一种,还有很多,比如Oracle、SQLserver等,这些不同的数据库生产商都支持SQL语句。
常见的关系型数据库: https://blog.csdn.net/WebSpider_1/article/details/106650605.

四种SQL语句

(1)DDL (数据库定义语言)

  • DDL用来定义数据库对象:数据库、数据表、列等;
  • 关键字:create、alter、drop等;
  • 常用数据库定义语句:

(数据库操作语句)

   		-- 创建数据库[可以同时设置字符集]
		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 表名;

(2)DML (数据操作语言)

  • DML用来对数据库中表的记录进行更新;
  • 关键字:insert、delete、update等;
  • 常用数据库操作语句
   -- 向表中插入某些字段(字段与值一一对应)
   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 条件;

(3)DCL (数据库控制语言)

  • DCL用来定义数据库的访问权限和安全及级别并控制数据库事务发生的时间及效果,以及创建用户。
  • 关键字:grant、deny、revoke等;
  • 常用数据库控制语句
   -- 创建只能在指定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'; 

(4)DQL (数据库查询语言)

  • DQL用来查询数据库中表的记录;
  • 关键字:select、from、where等;
  • 常用数据库查询语句
   -- 查询表的所有记录[去掉重复地]
   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语句。查询是在数据库操作中使用最多的,其中多表的查询还是较为复杂的,所以查询语句的学习和使用需要结合具体需求不断的实践。

你可能感兴趣的:(学习MySQL数据库的简单总结(2))