美文网首页
MYSQL简单的操作指南

MYSQL简单的操作指南

作者: 80b7b6115d87 | 来源:发表于2018-04-26 15:34 被阅读14次

一、MYSQL数据库管理

1. 创建MYSQL用户
CREATE USER 'reader'@'%' IDENTIFIED BY '111111';
  • reader: 需要创建的用户名:自定义
  • %: IP地址,如果指定了IP地址,那么只有指定的IP机器可以访问,如果指定的是%那么外面所有机器都可以访问
  • 111111:密码--自定义的
2. 用户授权
GRANT privileges  ON database.table TO 'username'@'%'
  • privileges分给用户的权限选项,可以是[select ,delete ,update ,insert ]比如可以给用户查询的权限SELECT
  • database:数据库名称
  • table:表名称
  • username:用户名称,要给那个用户分配权限
  • %:任意一台机器

简单示例如下:

给用户分配所有库的所有表的所有权限 ALL(所有权限),. 所有库的所有表
GRANT ALL ON . TO 'username'@'%';
给用户分配database库下所有表的所有权限 ALL(所有权限),database.* database库的所有表
GRANT ALL ON database.* TO 'username'@'%';
将自己的权限分配给别的用户
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
刷新系统权限表,一般在给用户分配好权限或者进行权限设置后进行操作
flush privileges
修改用户密码,要在当前用户下,修改当前密码,不是在root权限下,修改别的用户密码
SET PASSWORD = PASSWORD("newpassword");
撤销用户权限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
删除用户,用户名最好是用单引号,不用单引号有可能会报错
drop user 用户名@'%';

二、DDL语言

1. 创建数据库:
CREATE DATABASE [库名称] DEFAULT character set utf8;
2. 切换数据库
use [库名称]
3. 删除数据库
DROP DATABASE [库名称]
4. 创建表
CREATE TABLE [表名称](    
        id bigint not null primary key AUTO_INCREMENT COMMENT '主键',    
        name varchar(255) not null COMMENT '名称'    
) ENGINE=InnoDB  AUTO_INCREMENT=1000 DEFAULT charset=utf8 COMMENT='表的描述';
5. 显示表结构
SHOW CREATE TABLE [表名称]\G
6. 删除表
DROP TABLE [表名称]
7. 更新表的列的约束条件
ALTER TABLE [表名] modify [列名] [修改的条件]
8. 修改表的名称和约束条件
ALTER TABLE [表名] change [源列名] [新列名] [约束条件]
9. 添加表的列
ALTER TABLE add [列名] [约束条件]
10. 删除表的列
ALTER TABLE DROP [列名]
11. 创建表中列的索引
ALTER TABLE [表名] add index ["自定义索引名称"] ("表中需要添加索引的列名")
12. 删除索引
ALTER TABLE [表名] DROP index ["自定义的索引名称"]
13. 添加外键约束
  • 表已经存在,给已经存在的表添加外键
    举例-两张表:
    table1 :Persons
CREATE TABLE Persons(
    id_p bigint not null primary key AUTO_INCREMENT COMMENT '主键',
    last_name varchar(255) not null COMMENT '名称'
);

table2:Orders

CREATE TABLE Orders(
    id_o bigint not null primary key AUTO_INCREMENT COMMENT '主键',
    order_no bigint not null COMMENT '订单号',
    id_p bigint not null COMMENT '外键指向Persons表的主键id_p'
);

给Orders表id_p添加外键约束,关联Persons表的主键id_p

ALTER TABLE Orders ADD FOREIGN KEY (id_p) REFERENCES Persons(id_p);
  • 当表不存在时,在创建表的时候直接添加外键
    需求和上面的相同还是两张表,这次在创建表的时候开始就进行外键关联,Orders表的外键id_p关联Persons表的主键id_p
    table1:Persons
CREATE TABLE Persons(
    id_p bigint not null primary key AUTO_INCREMENT COMMENT '主键',
    last_name varchar(255) not null COMMENT '名称'
);

table2:Orders

CREATE TABLE Orders(
    id_o bigint not null primary key AUTO_INCREMENT COMMENT '主键',
    order_no bigint not null COMMENT '订单号',
    id_p bigint not null COMMENT '外键指向Persons表的主键id_p',
    FOREIGN KEY (id_p) REFERENCES Persons(id_p)
);
14. 撤销外键约束
ALTER TABLE Orders DROP FOREIGN KEY Orders_ibfk_1

注意:Orders_ibfk_1 是我们添加外键的时候由于我们没有指定外键名称,数据库就会默认生成一个外键名称,可以通过SHOW CREATE TABLE [表名称]\G 命令查看生成的外键的名称,然后在使用上面的命令进行删除Orders表的外键操作。

三、DML语言

1. 查询SELECT
SELECT [列名:a,b,c] FROM [表名:a,b,c] [限制条件……]
1.算数运算符 + - * /
2.取别名:可以给列和表取别名
                --> 直接取别名在列名的后面  last_name ln
                --> 使用as取别名         last_name as ln
                --> 使用双引号""         last_name "ln"


3.连接符 || oracle可以,mysql查询出来的数据不是我们想要的

4.过滤和排序
                --> 限制条件 多表联查的时候如果不加限制条件会出现笛卡尔积的问题
                --> 排序 order by :一般情况放在结果集最后进行排序 默认升序ASC 降序:DESC

5.运算符 > ,<, <=, >=, <>(!=)

6.其他运算符 
                --> BETWEEN……AND…… 包含边界
                --> IN([参数])
                --> IS NULL
                --> LIKE : 模糊匹配 _:代表任意一个 %:任意一个或多个

7.逻辑运算符:
                --> AND
                --> OR
                --> NOT



8.多表查询
                --> 等值连接
                --> 非等值连接
                --> 多个连接条件用AND 操作符
                --> 连接分类
                    --内连接
                    --外连接
                    --满连接



9.分组函数
                --> avg()
                --> sum()
                --> max()
                --> min()
                --> count()

10. 组函数 group by
                --> 所有包含于SELECT 列表中,而未包含于组函数中的列都必须包含于 GROUP BY 子句中
                注意: WHERE 子句后不能使用组函数,如果使用组函数使用HAVING子句


11.子查询
                --> 子查询要放在括号()中
                --> 子查询要放在查询条件的右侧
                --> 查询结果集要一对一,多对多
2. 插入 INSERT
INSERT INTO [表名] ([列名1,列名2,列名3,列名4,……]) VALUES([列值1,列值2,列值3,列值4,……]),([列值1,列值2,列值3,列值4,……]),……
3. 更新 UPDATE
UPDATE [表名称] SET [列名1]=[列值1],[列名2]=[列值2],…… [限制条件]
4. 删除 DELETE
DELETE FROM [表名称] [限制条件]

相关文章

  • MYSQL简单的操作指南

    一、MYSQL数据库管理 1. 创建MYSQL用户 reader: 需要创建的用户名:自定义 %: IP地址,如果...

  • pycharm连接mysql

    python操作MySQL(简单流程)

  • mysql简单操作

    安装 登录 创建数据库 使用数据库 然后查看表里面的数据 表结构

  • mysql 简单操作

    连接:mysql -h域名 -u用户名 -P端口号 -p'密码'; 列出所有数据库:show databases;...

  • mysql 简单操作

    1.创建一个名字为openfire数据库: create database openfire;2.可以用以下地命令...

  • mysql的简单操作

    mySQL 数据库常用命令1、MySQL常用命令create database name; 创建数据库use da...

  • mysql操作

    进入或退出mysql 启动,关闭 数据库简单操作 表操作

  • 2019-01-22_Mybatis关于mysql简单操作学习

    Mybatis关于mysql简单操作学习1.概述对mybatis常用的操作命令做一下总结,数据库基于mysql。后...

  • 简单的git操作指南

    简单的git操作指南 引言:在我们操作git之前首先需要明白git是什么? github的安装 oxs版 wind...

  • vim简单操作指南

    cd ~ vim .bash_profile 按i 进入编辑状态 按下esc进入 输入:wq 保存退出 输入sou...

网友评论

      本文标题:MYSQL简单的操作指南

      本文链接:https://www.haomeiwen.com/subject/iktmlftx.html