mysql四:数据操作

一、介绍

MySQL数据操作: DML

========================================================

在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括

  1. 使用INSERT实现数据的插入
  2. UPDATE实现数据的更新
  3. 使用DELETE实现数据的删除
  4. 使用SELECT查询数据以及。

========================================================

二、插入数据INSERT

1. 插入完整数据(顺序插入)
    语法一:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);

    语法二:
    INSERT INTO 表名 VALUES (值1,值2,值3…值n);

2. 指定字段插入数据
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);

3. 插入多条记录
    语法:
    INSERT INTO 表名 VALUES
        (值1,值2,值3…值n),
        (值1,值2,值3…值n),
        (值1,值2,值3…值n);

4. 插入查询结果
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                    SELECT (字段1,字段2,字段3…字段n) FROM 表2
                    WHERE …;

  往一张表里插记录可以用select代替values,把查的结果直接传给表相应的字段,查出来的结果必须和表的字段一一对应。

三、更新数据UPDATE

语法:
    UPDATE 表名 SET
        字段1=值1,
        字段2=值2,
        WHERE CONDITION;

示例:
    UPDATE mysql.user SET password=password(‘123’) 
        where user=’root’ and host=’localhost’;

  更新mysql库下的user表,设置字段password=password('123'),用来将密码加密,where指定需要改掉密码的记录,用户为root且地址为localhost的记录。定位到记录后,把符合条件的password都进行修改。

四、删除数据DELETE

语法:
    DELETE FROM 表名 
        WHERE CONITION;

示例:
    DELETE FROM mysql.user 
        WHERE password=’’;

练习:
    更新MySQL root用户密码为mysql123
    删除除从本地登录的root用户以外的所有用户

  删除符合条件的一些记录用delete。

  如果要删除整张表,可以用truncate。# 应该用truncate清空表,比起delete一条一条地删除记录,truncate是直接清空表,在删除大表时用它

语法:
    truncate 表名;
示例:
    truncate student1;

五、查询数据SELECT

  单表查询:http://www.cnblogs.com/xiugeng/p/9028541.html

  多表查询:http://www.cnblogs.com/xiugeng/p/9030720.html

六、权限管理和Navicat工具

1、权限管理

  授权:对文件夹,对文件,对文件某一字段的权限。授权操作只能通过root用户!!

  查看帮助:help grant

  常用权限有:select,update,alter,delete all可以代表除了grant之外的所有权限。

#授权操作只能通过root用户!!

set global validate_password_policy=0;
set global validate_password_length=1;
# 安全设置问题,查看这个:http://www.jb51.net/article/95399.htm
创建账号:
  # 本地账号
  create user 'egon'@'localhost' identified by '1234';    # mysql -uegon -p123
  # 远程账号
  create user 'egon'@'192.168.31.10' identified by '1234';   # mysql -uegon -p123 -h 服务端ip
    # 让一个网段内所有机器都可以登录
    create user 'egon'@'192.168.31.%' identified by '1234';
    # 让所有能Ping通机器都可以登录
    create user 'egon'@'%' identified by '1234';

授权级别
    user:*.* 对所有库所有表
    db:db1.* 对db1库里所有表
    table_priv:db1.t1 对某一个表开放权限
    columns_priv:id,name 对某一个字段开放权限

授权方法
    # user级别    select * from mysql.user\G;可以查看授权情况
        # 授权  
        grant select on *.*;  授权所有库所有表的select
        grant select on *.* to 'egon'@'localhost'; 
        grant all on *.* to 'egon'@'localhost';  授权对所有库下所有表的权限(all不包含grant权限)
        # 收回权限
        revoke select on *.* from 'egon'@'localhost'; 
    # db级别    select * from mysql.db\G;可以查看授权情况
        # 授权
        grant selcect on db1.* to 'egon'@'localhost';
        # 收回权限
        revoke select on db1.* from 'egon'@'localhost';
    # table     select * from mysql.tables_priv\G;查看授权情况
        # 授权
        grant select on db1.t2 to 'egon'@'localhost';
        # 收回权限
        revoke select on db1.t2 from 'egon'@'localhost';
    # 字段级别
        # 授权
        grant select(id,name), update(age) on db1.t2 to 'egon'@'localhost';  # 字段的查看、字段的更新权限
        # 收回权限
        revoke select(id,name),update(age) from db1.t2 to 'egon'@'localhost';  

2、Navicat

  在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库

官网下载:https://www.navicat.com/en/products/navicat-for-mysql

网盘下载:https://pan.baidu.com/s/1bpo5mqj

需要掌握的基本操作

掌握:
#1. 测试+链接数据库
#2. 新建库
#3. 新建表,新增字段+类型+约束
#4. 设计表:外键
#5. 新建查询
#6. 备份库/表

#注意:
批量加注释:ctrl+?键
批量去注释:ctrl+shift+?键

 

posted @ 2018-05-12 12:30  休耕  阅读(337)  评论(0编辑  收藏  举报