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

    SQL:结构化查询语言 (Structured Query Language)

    默认端口:3306

    连接字符串:server=127.0.0.1;uid=root;pwd=root;database=test

    安装:yum安装rpm包,建议5.5以上版本。

    SQL语句分类:

    DDL:数据定义语言。负责数据库定义、数据库对象定义,有CREATE、ALTER、DROP组成。

    DML:数据操作语言。负责数据库对象的操作,CRUD增删改查。

    DCL:数据控制语言。负责数据库访问控制,由GRANT和REVOKE组成。

    TCL:事物控制语言。负责处理ACID事务,支持commit、rollback。

    Note:
        • 大小写不敏感
        • 语句末尾应使用分号

    授权:
    GRANT ALL ON DatabaseName.TableName TO 'UserName'@'host' IDENTIFIED by 'Password';
    注:授权所有权限给 库.表 给 用户@主机 密码是
    例:GRANT ALL ON employee.* TO 'test'@'%' IDENTIFIED by 'test';

    撤销:
    REVOKE ALL ON DatabaseName.TableName FROM UserName;
    注:撤销用户的 库.表 的所有权限
    例:REVOKE ALL ON employee.* FROM test;


    删除用户:
    DROP USER user1;

    创建数据库:
    CREATE DATABASE IF NOT EXISTS students CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    注:
        • CHARACTER SET utf8mb4 字符集在MySQL5.53+以上版本
        • COLLATE 字符集比较大小

    删除数据库:
    DROP DATABASE IF EXISTS students;

    创建表:
    CREATE TABLE 'employees' (
        'emp_no' int(11) NOT NULL,
        'birthday' date NOT NULL,
        'first_name' varchar(14) NOT NULL,
        'last_name' varchar(16) NOT NULL,
        'gender' enum('M', 'F') NOT NULL,
        'hire_date' date NOT NULL,
        PRIMARY KEY('emp_no')
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    注:
        • InnoDB支持事务的引擎
        • 实际开发中使用工具(Navicat)来建表,能看懂就行


    查看表
    DESC employees; # 查看所有列
    DESC employees %name; # 查看name结尾的列

    PRIMARY KEY 主键:一列或多列组成的唯一的key。
    注:
        • 一般选择整形或长整形的某一列作为主键
        • 少用其他类型或组合列作为主键
        • 主键要设置为AUTO_INCREMENT自增
        • 每个表一般都有一个主键

    Index 索引:根据一个字段或多个字段建立的字典。(查询提速)
    注:
        • 能显著提高查询效率
        • 降低其他操作效率
        • 主键索引:主键会自动建立索引
        • 唯一索引:可以为空,只要不为空则必须唯一
        • 普通索引:没有唯一性要求
        • 如果表读多,写少,可以任意建立索引
        • 如果表写多,读少,不要大量建立索引

    Constraint 约束:
        • 唯一约束:UNIQUE
        • 主键约束:PRIMARY KEY。主键自动添加
        • 外键约束:FOREIGN KEY。
        • 外键:表B中的列,关联表A中的主键,则表B中的列就是外键
        • 表关联关系中,对表的删除和更新时需要关注
        • 保证数据的一致性和完整性,杜绝数据的冗余

    View 视图:
        • 是一张虚拟表,是真实表的联合查询结果
        • 可以进行CRUD操作,但建议只做查询使用
        • 很复杂的查询语句,可以写成视图
        • 视图是数据安全的,可以控制字段的显示

    数据类型:

        • 整型:tinyint > smallint > int > bigint

        • 浮点数:一般需要确定精度(小数点后几位)

        • 日期

        • 字符


    char:字符串长度等长,但会浪费空间。
    varchar:字符串长度可以变长,省空间。(不经常修改的字段可以使用)
    但数据量大,要修改其中一个字符串长度,那么所有存储空间都必须动
    注:如何选择应该根据实际情况

    最佳实践:
        • 给表加一个id字段(int),作为单一主键,(自增、无符号)
        • 字符串做主键,效率肯定没有整数高。
        • 表里面有记录的情况下,不能随便乱加字段,尤其是表在线上正在使用时
        • 所以,设计表时多添加两个字段reserved1、reserved2,作为冗余,空间换实践,避免上述情况发生
        • 表设计时,是否需要冗余字段,需要看将来对表的改动有多大


        
        

  • 相关阅读:
    限制CPU个数
    delphi 不阻塞提示对话框
    快捷打开vnc 某个连接
    delphi ShellExecute 传递多个参数
    JS对JSON的操作总结 (转)
    Windows Server 2008 IIS下部署网站出现的问题
    SqlParameter序列化的问题
    求解,工作流点通过时,弹出窗口让用户录入审核意见
    oracle调度
    c# 多态
  • 原文地址:https://www.cnblogs.com/lizitest/p/9553038.html
Copyright © 2011-2022 走看看