zoukankan      html  css  js  c++  java
  • Mysql 基础

    数据库介绍

      数据库(Database)是按照数据结构来组织、存储和管理数据仓库的,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所有保存的数据。

    Mysql用户设置

      如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。

      以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限:

    root@host# mysql -u root -p
    Enter password:*******
    mysql> use mysql;
    Database changed
     
    mysql> INSERT INTO user
              (host, user, password,
               select_priv, insert_priv, update_priv)
               VALUES ('localhost', 'guest',
               PASSWORD('guest123'), 'Y', 'Y', 'Y');
    Query OK, 1 row affected (0.20 sec)
     
    mysql> FLUSH PRIVILEGES;
    Query OK, 1 row affected (0.01 sec)
     
    mysql> SELECT host, user, password FROM user WHERE user = 'guest';
    +-----------+---------+------------------+
    | host      | user    | password         |
    +-----------+---------+------------------+
    | localhost | guest | 6f8c114b58f2ce9e |
    +-----------+---------+------------------+
    1 row in set (0.00 sec)

      在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。 你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e.

      注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string

      注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。

      如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。

      你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 'Y' 即可,用户权限列表如下:

      Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv

      另外一种添加用户的方法为通过SQL的 GRANT 命令,你下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。

    root@host# mysql -u root -p password;
    Enter password:*******
    mysql> use mysql;
    Database changed
     
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
        -> ON TUTORIALS.*
        -> TO 'zara'@'localhost'
        -> IDENTIFIED BY 'zara123';

       

    mysql>grant all privileges on *.* to joe@10.163.225.87 identified by123′;
    
    #给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
    
    mysql>grant all privileges on *.* to joe@localhost identified by123′;
    
    #给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
    
    #flush privileged
    mysql 赋值用户权限

    Mysql 数据类型

      MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

      MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

      数据类型

       

      

      日期和时间类型

      表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

      每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

      TIMESTAMP类型有专有的自动更新特性,将在后面描述。

      

      字符串类型

       字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

       

      CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

      BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

      BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

      有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

    返回mysql目录

  • 相关阅读:
    html 上传图片前预览
    php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
    php 计算 pdf文件页数
    php 获取半年内每个月的订单数量, 总价, 月份
    php 获取两个数组之间不同的值
    小程序支付功能
    关于nginx的Job for nginx.service failed because the control process exited with error code.错误
    linux 安装 Apollo
    MongoDB待续。。。
    ABP vNext...待续
  • 原文地址:https://www.cnblogs.com/nopnog/p/7591750.html
Copyright © 2011-2022 走看看