Mysql(一)

一、DDL 数据定义语言

作用:操作数据库结构与表结构的

1.1 操作数据库
1.1.1 查询所有的数据库
show databases;
1.1.2 查看创建数据库的sql语句
show create database 数据库名;
1.1.3 增加数据库
create database 数据库名称;
// 如果数据库名称不存在就创建数据库,存在的话就不创建
create database if not exists 数据库名称; 
1.1.4 删除数据库
drop database 数据库名称;
1.1.5 修改数据库
//修改数据库名字
//5.05~5.23有这个sql语句,存在安全的问题其他版本就去掉了
alter database 数据库旧的名字 rename to 新名字;
1.1.6 修改数据库默认码表
alter database 数据库名称 character set 码表(注意:utf8)
1.2 操作表(use 数据库名称;)
1.2.1添加表
//创建表的格式
create table 表名(
    字段名称1 数据类型1,
    字段名称2 数据类型2,
    ...
);
1.2.2 查询表结构
//查看当前数据库里面所有表名称列表
show tables;
//查看指定表的详细信息与结构
desc 表名;
1.2.3 修改表
增加一个字段
    格式: alter table 表名 add 字段名 数据类型;
    代码:alter table emp2 add name varchar(100);
删除一个字段
    格式:alter table 表名 drop 字段名;
    代码:alter table emp2 drop name;
修改一个字段类型
    格式:alter table 表名 modify 字段名 数据类型;
    代码:alter table emp2 modify age double;
修改一个字段名称
    格式:alter table 表名 change 旧字段名称 新的字段名称 数据类型
    代码:alter table emp2 change age nianling double;
修改表名
    格式:alter table 表名 rename 新表名;
    代码:alter table emp2 rename emp3;
1.2.4 删除表
drop table 表名;
二、DML数据操作语言

作用是对表里面的数据増、改、删

2.1 增
insert into 表名 (字段列表) values(插入指定字段值列表);
//values中的值需要跟表中的字段一一对应,若主键id为自动增长,可赋值为null
insert into 表名 values(插入指定字段值列表);
2.2 改
update 表名 set 字段1=字段值1,字段2=字段值2... where 条件;
2.3 删
//算法实现原理:这里是一条数据一条数据删除的(速度慢)
delete from 表名 where 条件;
//算法实现原理,直接摧毁表结构进行删除所有数据的(速度快)
truncate 表名;
三、DQL数据查询语言

作用就是查询数据库表里面的数据

//查询
SELECT * FROM WHERE 条件 ORDER BY 字段名 DESC GROUP BY 字段名 HAVING 条件;

where & having 的区别
①having是在分组后对数据进行过滤.
 where是在分组前对数据进行过滤
②having后面可以使用分组函数(统计函数)
 where后面不可以使用分组函数。

3.1 排序(order by)

默认:asc(升序)
desc(降序)

3.2 聚合
  • count:统计指定列不为NULL的记录行数
  • sum:计算指定列的数值和,如果指定列
  • max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串类型不是数值类型,那么计算结果为0排0序运算
  • min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
  • avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
3.3 分组(group by)
SELECT 字段1,字段2… FROM 表名 GROUP BY 字段 HAVING 条件;
四、多表查询
  • JOIN & INNER JOIN 查询的效果是一样的,只有有一张表没有数据那么这条数据就不会显示
  • LEFT JOIN 以左表为基准,左表有数据,右表没数据,这条数据也会显示,没数据的那张表用NULL填充
  • RIGHT JOIN 与LEFT JOIN 相反
  • Mysql中没有FULL JOIN,Oracle中才有
五、DCL数据控制语言

作用:进行权限控制的;主要对用户操作,并且给用户授予与解除权限

5.1 用户操作

5.1.1增加用户

//格式
create user 用户名@ip/域名 identified by 密码;
//代码
create user zhaosan@localhost identified by '123456';

5.1.2 查询用户

select * from mysql.user;

5.1.3 删除用户

drop user 用户名@主机地址;
5.2 操作权限

5.2.1 授予权限

//格式    
grant 权限1,权限2… on 数据库.表 to 用户@ip;
//代码
//将所有的数据库里面所有的表的所有权限给到zhaosan用户
grant all on *.* to zhaosan@localhost;
//权限列表关键字select ,update ,insert ,delete
//将dbshop.emp表的查询权限给到zhaosan用户
GRANT SELECT ON dbshop.emp TO zhaosan@localhost;

5.2.2 查询权限

//格式
SHOW GRANTS FOR 用户名@ip;
//代码
//查询当前用户的权限
SHOW GRANTS;

5.2.3 解除权限

//格式
revoke 权限1,权限2.. on 数据库.表 from 用户名@ip;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 手动不易,转发请注明出处 --Trance 数据库系统命令: (1).查看存储过程状态:show pro...
    Trance_b54c阅读 5,674评论 0 8
  • MySQL技术内幕:SQL编程 姜承尧 第1章 SQL编程 >> B是由MySQL创始人之一Monty分支的一个版...
    沉默剑士阅读 7,194评论 0 3
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,786评论 0 9
  • 1. 了解SQL 1.1 数据库基础 ​ 学习到目前这个阶段,我们就需要以某种方式与数据库打交道。在深入学习MyS...
    锋享前端阅读 4,853评论 0 1
  • 1、MySQL启动和关闭(安装及配置请参照百度经验,这里不再记录。MySQL默认端口号:3306;默认数据类型格式...
    强壮de西兰花阅读 3,882评论 0 1