MySQL(未完)

MySQL

数据库语言分类

  • DQL 数据查询语言

    • 基本结构是由select子句,from子句,where子句组成的查询块;

    • select<字段名表>

    • from<表或视图名>

    • where<查询条件>

  • DML 数据操作语言

    • 主要有三种形式

      • 插入:insert

      • 更新:update

      • 删除:delete

  • DDL 数据定义语言

    • 用来创建数据库中的各种对象

      • 表、视图、索引、同义词、聚簇等

      • create TABLE/view/INDEX/SYN/CLUSTER

      • 注意:DDL操作是隐形提交的,不能rollback

  • DCL 数据控制语言

    • 用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

      • GRANT:授权

      • ROLLBACK【WORK】TO,【SAVEPOINT】:回退到某一点

        • 回滚:ROLLBACK 回滚命令使数据库状态回到上次最后提交的状态。其格式为:

          • SQL>ROLLBACK;

      • COMMIT【WORK】:提交

    • 在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。

    • 提交数据有三种类型:显式提交、隐式提交以及自动提交

      • 显式提交

        • 用COMMIT命令直接完成的提交为显式提交。

          • SQL>COMMIT;

      • 隐式提交

        • 用SQL命令间接完成的提交为隐式提交

          • ALTER

          • AUDIT

          • COMMENT

          • CREATE

          • DISCONNECT

          • DROP

          • EXIT

          • GRANT

          • NOAUDIT

          • QUIT

          • REVOKE

          • RENAME

      • 自动提交若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交

        • SQL>set AUTOCOMMIT ON

 

数据库分类

  • 关系型数据库

    • Oracle

      • Oracle公司产品,兼容Java,一般是大型公司使用

    • SQL server

      • Windows系统下的数据库,微软出品

    • DB2

      • IBM公司

    • MySQL

      • Oracle公司

  • 非关系型数据库

    • mangoDB

    • redis

 

MySQL安装

注意事项:

  1. 安装路径不能出现中文

  2. 安装过程中如果出现任何意外,都必须将原先的卸载干净,然后再安装

 

MySQL数据库结构

数据库1

表1

数据1(记录)

数据2

表2

数据1

数据2

数据库1

表1

数据1

数据2

表2

数据1

数据2

 

数据库操作

  1. 登录数据库

    mysql -u root -p

    输入密码

  2. 查看数据库软件中有哪些数据库

    show databases;

    自带数据库

    information schema 数据库元数据,基础数据

    mysql 配置数据库,其中包含用户信息(账户、密码)

    performance schema 运行数据,日志文件,运行情况

    test 测试数据库

  3. 创建数据库

    create database mico defaulet character set utf8;

     

    查看数据库默认字符集

    show create database mico;

    修改数据库字符编码

     

    alter database mico default character set gbk;

     

  4. 删除数据库

    drop database mico;

     

  5. 使用数据库

    use mico;

     

  6. 显示数据库下有哪些表

    show tables;

     

  7. 创建表

    • 字段

      • 表示一条数据(记录)中拥有哪些东西

        • 字段名 字段类型

    • 类型

      • int 整型

      • char(n) 字符串,保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多255个字符。

      • varchar(n) 字符串,n字符串最大长度,保持可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255个字符,如果大于255将被转换成text类型

      • tinytext 存放最大长度为255个字符的字符串

      • text 存放最大长度为65535个字符的字符串

      • mediumtext 存放最大长度为16777215个字符的字符串

      • longtext 存放最大长度为4294967295个字符的字符串

      • date 日期,格式为:%Y-%m-%d

      • datetime 日期时间组合,格式为:%Y-%m-%d hh:mm:ss

      • timetamp 时间戳 使用unix纪元(1970-01-01 00:00:00 UTC)至今的秒数来存储。格式为: %Y-%m-%d hh:mm:ss

      • time 时间

    • 格式

      create table 表明(
      字段1 字段1类型,
      字段2 字段2类型,
      ...
      字段n 字段n类型
      );
  8. 查看表结构

    describe tablename;

    desc tablename;

     

  9. 给表添加新的字段

    --给student表添加一个字段sex其类型为char(8)
    alter table students add column sex char(8);

    --在sex字段后添加car字段
    alter table students add column car char(8) after sex;
  10. 修改字段

    • 修改字段名

      --将car字段修改为tool并指定为char(20)类型
      alter table students change car tool char(20);
    • 修改字段类型

      alter table students modify column age varchar(30);
  11. 删除字段

    alter table students drop column tool;
  12. 重命名表

    alter table students rename to newname;
  13. 插入数据

    insert into students values("张三",10);
  14. 更新数据

    update students set name="李四" where age=10;
  15. 删除数据

    delete from students where name="王五";

  16.  

posted @ 2020-05-09 18:57  秋山信月归  阅读(126)  评论(0)    收藏  举报