• 初识MySQL


    MySQL的优势:1,运行速度快;2,使用成本低;3,容易使用;4,可移植性强;5,使用更多用户

    系统数据库:information_schema:数据库对象信息,如用户、字段、权限

                         performance_schema:数据库服务器性能参数

                         mysql:系统的用户权限

                         test:自动生成的测试数据库,任何用户都可以使用

    创建数据库:CREATE DATABASE 数据库名();

           用英文;作为休止符,在windows系统下不区分大小写。

    查看数据库:SHOW DATABASES;

           会显示四个系统数据库和自己的数据库

    选择数据库:USE 数据库名;

    删除数据库:DROP DATABASE 数据库名;

    SQL语言包括:1,DML(数据操作语言):用来插入、修改和删除表中数据如:INSERT、UPDATE、DELETE

                          2,DDL(数据定义语言):创建或删除数据库对象如:CREATE、DROP、ALTER

                          3,DQL(数据查询语言):数据查询,指SELECT

    4,DCL(数据控制语言):控制数据库组件的存取许可,存取权限GRANT,REVOKE

    常用数值类型

    数据类型

    字节数

    取值范围

    TINYINT[(M)]

    1字节

    有符号值:-27~-27

    无符号值:0~28-1

    SMALLINT[(M)]

    2字节

    有符号值:-215~215-1

    无符号值:0~216-1

    MEDIUMINT[(M)]

    3字节

    有符号值:-223~223-1

    无符号值:0~224-1

    INT[(M)]

    4字节

    有符号值:-231~231-1

    无符号值:0~232-1

    FLOAT[(M,D)]

    4字节

    有符号值:-3.402823466E+38~1.175494351E-38

    无符号值:1.175494351E-3.402823466E+38

    DOUBLE[(M,D)]

    8字节

    有符号值:-1.7976931348623157E+308~-2.2250738585072014E-308

    无符号值:2.225073858072014E-308~1.7976931348623157E+308

    DECIMAL[(M,[D])]

    M+2字节

    M最大精度位数即总位数,M的取值范围是1~65,默认值为10

    D小数精度位数,D的取值是0~30

    该类型可能的取值范围与DOUBLE相同,但有效值范围由M、D决定

    FLOAT和DOUBLE称为浮点数类型,DECIMAL称为定数类型,DECIMAL精度比DOUBLE高

    如该字段为非负数无符号数,则需添加UNSIGNED属性

    字符串类型

    数据类型

    字节

    说明

    CHAR[(M)]

    M字节

    固定长字符串

    M为0~255的整数

    VARCHAR[(M)]

    可变长度

    可变长度

    M为0~65535的整数

    TINYTEXT

    0~255

    微型文本串

    TEXT

    0~65535

    文本串

    日期类型

    数据类型

    格式

    最值范围

    DATE

    YYYY-MM-DD

    1000-01-01~9999-12-31

    DATETIME

    YY-MM-DD hh:mm:ss

    1000-01-01 00:00:00~9999-12-31 23:59:59

    TIME

    hh:mm:ss

    -835:59:59~835:59:59

    TIMESTAMP

    YYYYMMDDHHMMSS

    1970年某时刻~2038年某时刻,精度为1秒

    YEAR

    YYYY格式的年份

    1901~2155

    MySQL允许不严格的语法:任何标点符号都可以作为日期之间的间隔符

    在DATE中:16-06-16、16.06.16、16/06/16相同

    MySQL常用数据类型:整型:int

                                       浮点:float(18,7)

                                       字符串:varchar(4000)

                                       大文本:TEXT

                                       时间:DATATime

    创建表:语法

                  CREATE TABLE 表名(

                         字段1 数据类型[字段属性|约束][索引][注释],

                         ………

                         字段n 数据类型[字段属性|约束][索引][注释],

                  )[表类型][表字符集][注释];

    如果使用的名称与保留字有冲突,需要用(`)括起来如`name`,键盘~键

    MySQL中的注释:单行注释:#......;多行:/*…*/

    常用的属性约束

    字段属性、约束名

    关键字

    说明

    非空约束

    NOT NULL

    该字段不允许为空

    默认约束

    DEFAULT

    如果该字段没有插入数据,则其值为默认值

    唯一约束

    UNIQUE KEY(UK)

    允许为空,但只能有一个空值

    主键约束

    PRIMARY KEY(PK)

    设置该字段为表的主键

    外键约束

    FOREIGN KEY(FK)

    用于两表之间建立关系,需指定引用主表的哪一字段

    注意:InnoDB支持外键,MyISAM不支持

                  作为外键的字段要求在主表中是主键

    自动增长

    AUTO_INCREMENT

    设置该字段为自增字段,默认每条自增1;

    通常用于设置主键,且为整数类型

    可设置初始值和步长

    外键(子表、从表)只能创建在外键表中

    单字段主键

           在定义字段同时指定主键:

                  CREATE TABLE表名(

    字段1 数据类型 PRIMARY KEY,

    );

           在定义完后指定主键:

                  CREATE TABLE表名(

                         字段1 数据类型,

                         ……

                         [CONSTRAINT<约束名>]PRIMARY KEY[列名]

    );

    多字段联合主键:

           CREATE TABLE表名(

           字段1 数据类型(长度),

           字段2 数据类型(长度),

    PRIMARY KEY[字段1,字段2……]

    );

    注释:

           CREATE TABLE test(

                  字段1 数据类型,

    )COMMENT=’注释’;

    编码格式设置

           在特定情况下,为达到特存储内容要求,如某表需要存储西欧文字内容

                  CREATE TABLE表名(

      字段1 数据类型,

    )CHARSET=’字符集名’;

    查看所有表:

           SHOW tables;

    查看表内的定义:

           DESCRIBE 表名;(显示表结构)

    或   DESC 表明;

    删除表

           DROP TABLE表名;

    常用存储引擎InnoDB和MyISAM比较

    功能

    InnoDB

    MyISAM

    支持事务

    支持

    不支持

    支持全文索引

    不支持

    支持

    外键约束

    支持

    不支持

    表空间大小

    较大

    较小

    数据行锁定

    支持

    不支持

    MyISAM:访问速度快,以访问为主的应用适用该引擎

    InnoDB:在处理事务上有优势,支持提交,回滚和崩溃修复能力的事务安装,占用空间大,需要频繁的更新、删除操作,对事务的完整性要求较高,需要实现并发控制,适用于该引擎

    查看当前默认引擎

           SHOW VARIABLES LIKE ‘storage_engine%’;

    修改默认引擎只需修改配置文件my.ini,

           default-storage-engine=引擎;

    指定表的存储引擎

           CREATE TABLE 表名(

    字段1 数据类型;

    )ENGINE=引擎;

    MyISAM数据文件扩展名

           .frm:表结构定义文件,存放表的元数据,如结构定义信息等。

           .MYI:存放MyISAM类型表的索引信息

           .MYS:数据文件,存放表中数据的文件

    InnoDB类型表文件

           .frm:表结构定义文件,存放表的元表数据。

           .ibdata1:数据文件,保存所有InnoDB类型表的数据

    帮助文档:

           HELP Data Types;

    若想进一步如INT类型:

           HELP INT;

  • 相关阅读:
    内置函数filter()和匿名函数lambda解析
    time&datetime模块详解
    python学习笔记:*args和**kwargs使用原理?
    python学习笔记:深浅拷贝的使用和原理
    python传参是传值还是传引用
    第215天:Angular---指令
    第214天:Angular 基础概念
    第213天:12个HTML和CSS必须知道的重点难点问题
    第212天:15种CSS居中的方式,最全了
    第211天:git和github的区别和使用详解
  • 原文地址:https://www.cnblogs.com/ACCPGuo/p/9354407.html
Copyright © 2020-2023  润新知