Mysql-数据库

MYSQL初识:

  • 数据库优势:

    • 程序稳定性:程序崩溃不会影响数据和服务

    • 数据一致性:所有数据存储在一起

    • 并发:数据库本身支持并发

    • 效率:使用数据库对数据进行的增删改查效率要高

  • 数据库分类:

    • 关系型数据库(表结构):
      • 特点相对慢,数据之间关联强

      • mysql,oracle,sqlserver,sqllite,accesse

    • 非关系型数据库(key:value):
      • 特点相对快,数据与数据的关联小

      • redis,mongodb ,memcache(淘汰-内存级别,淘汰了),

  • Mysql语句分为三种:
    • DDL 语句, 数据库定义语言:数据库,表,视图,索引,存储过程,例如create,drop,alter

    • DML 语句,数据库操纵语言:插入、删除、更新、查询数据,insert,delete,update,select

    • DCL 语句, 数据库控制语言:用户的访问权限,grant,revoke

Mysql 安装:

  • Mysql安装:
    • 路径不能有中文

    • 路径不能有特殊字符

  • InnoDB创建数据库和表后生成的文件:

    • 数据库:文件夹,表:文件

    • db.opt 字符集

    • .frm 表结构

    • .idb 每表一个表空间(表数据和表索引)

  • 账号:

    • 删除匿名账号(安全):

      • drop user ''@localhost;

      • drop user 'root'@'::1';

    • 设置管理员账号:

      • 1,使用管理员登录:mysql -uroot

      • 2,修改管理员密码:set password = password("123");

      • 3,登录管理员账号:mysql -uroot -p123

    • 创建数据库账号:

      • 查看创建的账号:select user(); select host,user from mysql.user;

      • 创建账号:

        • create user "haiyang"@"192.168.13.%" identified by "123";

        • flush privileges;

      • grant 账号赋权 (增删改查):

        • grant all 所有权限

        • 存在账号赋权:grant select on mysql.* to "hai"@"192.168.13.%"

        • 无账号创建,并赋予读取权限:

          • grant select on mysql.* to "hai"@"192.168.13.%" identified by "123";

        • 创建指定的ip地址登录,只能指定这个ip地址才可以登录:

          • mysql -uhaiyang -p123 -h192.168.13.144
      • 账号赋予的权限可以进行回收........

数据库操作:

  • 简单库操作:

    • 创建库:create database ftp;

    • 切换库:use 库名;

    • 删除库:drop database 库名;

  • 简单表操作:

    • 创建格式: create table 表名(id int,name char(字符))

    • 创建表: create table 表名(id int,name char(12));

    • 查看表: show tables;

    • 查看表结构: desc 表名; = describe 表名;

    • 查看表结构的详细信息:show create table userinfo;

    • 查看建表语句: show create table 表名;

    • 删除表:drop table 表名;

    • 修改表:alter table 表名 rename haha;

  • 增删改查语句:

      • 插入数据:insert into 表名values(1,"haiyang");

      • 插入两条:insert into 表名values(1,"haha"),(2,"dudu");

      • 查看表数据:select * from 表名;

    • 删:

      • delete from 表名;

      • 删除表中ID为1的数据:delete from 表名where id=1;

    • 改:

      • 错误示例:update userinfo set name="aa";(不指定ID将全部修改)

      • 根据字段ID修改表数据:update 表名set name="fafa" where id=2;

    • 查:

      • delete from 表名;

      • 查所有表中的数据:select * from 表名;

猜你喜欢

转载自www.cnblogs.com/haiyang11/p/11266051.html