MySQL初识

本文介绍了关系型数据库(如MySQL、Oracle)与非关系型数据库(如Redis、MongoDB)的区别,并重点讲解了MySQL的常用操作,包括连接数据库、修改用户密码、查询与管理数据库、数据操纵及事务控制。同时,讨论了数据库的字段类型、属性以及数据库引擎的选择,如InnoDB与MyISAM的特性对比。此外,还提到了数据库字符集设置和数据类型,如数值、字符串、时间日期等。
摘要由CSDN通过智能技术生成
  • 关系型数据库(SQL)

    • MySQL、Oracle、SQL Server、DB2、SQLlite
    • 通过表与表之间,行与列之间的关系进行数据的存储
  • 非关系型数据库(NoSQL:Not only SQL)

    • Redis、MongoDB
    • 对象存储,通过对象自身的属性来决定
  • DBMS(数据库管理系统):数据库的管理软件,科学有效的管理数据,维护和获取数据

  • MySQL常用命令(SQL语句不区分大小写)

    mysql -uroot -p123456 --命令行连接数据库
    
    --所有的SQL语句都要以分号结尾
    update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'; --修改用户密码
    flush privileges; --刷新权限
    
    show databases; --查询所有的数据库
    use 数据库名; --切换数据库
    
    show tables; --查看数据库中所有的表
    describe 表名; --显示数据库中表的所有信息
    
    create database if not exists 数据库名; --创建数据库
    drop database if exists 数据库名; --删除数据库
    exit; --退出连接
    
    -- 单行注释
    /*
    多行注释
    */
    
  • SQL结构化查询语言

    • DDL(Data Definition Languages):数据库定义语句
      • 用来创建数据库中的表、索引、视图、存储过程、触发器等
      • 常用关键字:CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME
    • DML(Data Manipulation Language):数据操纵语句
      • 用来查询、添加、更新、删除等
      • 常用关键字:SELECT、INSERT、UPDATE、DELETE、MERGE、CALL、EXPLAIN PLAN、LOCK TABLE,包括通用性的增删改查
    • DCL(Data Control Language): 数据控制语句
      • 用于授权/撤销数据库及其字段的权限
      • 常用关键字:GRANT、REVOKE
    • DQL:(Data Query Language): 数据查询语言
      • 常用关键字:SELECT、FROM、WHERE、ORDER BY、HAVING、ASC|DESC
    • TCL(Transaction Control Language): 事务控制语句
      • 用于控制事务
      • 常用关键字:COMMIT、ROLLBACK、SAVEPOINT、SET TRANSACTION
    • CCL(Cursor Control Language):指针控制语言
      • 用于对一个或多个表单独行的操作
      • 常用关键字:DECLARE CURSOR、FETCH INTO、UPDATE WHERE CURRENT
  • 数据库的列类型

    数值

     tinyint				     十分小的数据						1个字节
     smallint					 较小的数据                          2个字节
     mediumint                   中等大小的数据                      3个字节
     int                         标准的整数                          4个字节(常用)
     bigint                      较大的数据                          8个字节
     float                       单精度浮点数                        4个字节
     double                      双精度浮点数                        8个字节
     decimal                     字符串形式浮点数                    金融计算使用
    

    字符串

     char                        字符串固定大小                     0~255
     varchar                     可变字符串                        0~65535(常用)
     tinytext                    微型文本                          2^8-1
     text                        文本串                            2^16-1(保存大文本)
    

    时间日期

     date                        YYYY-MM-DD                        日期格式
     time                        HH:mm:ss                          时间格式
     datetime                    YYYY-MM-DD HH:mm:ss               最常用 
     timestamp                   时间戳1970-01-01 00:00:00到现在的毫秒数(较为常用)
     year                        年份表示
    

    null

    • 没有值,未知
    • 注意:不要使用null进行运算,结果也是null
  • 数据库的字段属性

    unsigned

    • 无符号的整数
    • 说明了该列不能声明为负数

    zerofill

    • 0填充
    • 不足的位数用0来填充。int(3) : 5 —> 005

    auto_increment

    • 自增,自动在上一条记录的基础上+1(默认)
    • 通常用来设计唯一的主键,必须是整数类型
    • 可以自定义主键自增的起始值和自增步长

    非空

    • 不赋值就会报错
    • 若不选择非空,不填写值默认是null

    默认

    • 设置默认的值
  • 每个表都必须存在的五个字段(表示一个记录存在的意义)

    • id 主键
    • version 乐观锁
    • is_delete 伪删除
    • gmt_create 创建时间
    • gmt_update 修改时间
  • 数据表的类型

    关于数据库引擎

    MYISAM(早些年使用)INNODB(默认使用)
    事务支持不支持(最新版支持)支持
    数据行锁定不支持支持
    外键不支持支持
    全文索引支持不支持
    表空间的大小较小较大,约为前者2倍
    • 常规使用操作:
      • MYISAM:节约空间。速度较快
      • INNODB:安全性高,支持事务的处理,多表多用户操作

    在物理空间存在的位置

    • 所有的数据库文件都存在data目录下,本质还是文件的存储
    • MySQL引擎在物理文件上的区别
      • INNODB:在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
      • MYISAM对应的文件
        • *.frm 表结构的定义文件
        • *.MYD 数据文件(data)
        • *.MYI 索引文件(index)

    设置数据库的字符集编码

    • charset = utf8,utf8支持中文,默认是Latin1不支持中文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Remote_Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值