zoukankan      html  css  js  c++  java
  • MySQL中的基本知识

    本文是MySQL中的一些基本知识,包括各种基本操作、数据类型和表的约束等。

    ps:都是自己总结、手打出来的,虽然不是什么新东西,但也勉强算原创吧。。

    一、数据库

    1.创建:CREATE DATABASE 数据库名 (CHARACTER SET 字符集) (COLLATE 校对规则);

    2.查看:(1)SHOW DATABASES;

          (2)SHOW CREATE DATABASE 数据库名;

    3.修改:ALTER DATABASE 数据库名 (CHARACTER SET 字符集) (COLLATE 校对规则);

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

    5.备份:cmd:mysqldump -u用户名 -p密码 数据库名>文件名.sql

       恢复:cmd:mysql -u用户名 -p密码 数据库名<文件名.sql    或:mysql:SOURCE 文件名.sql;


    二、表

    1.创建:CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型,……) (CHARACTER SET 字符集) (COLLATE 校对规则);

    2.查看、删除基本和数据库操作相同。另:可用DESC 表名; 来查看表结构。

    3.修改:ALTER TABLE 表名

      (1)增加列:ADD (列名 数据类型,……);

      (2)删除列:DROP 列名;

      (3)修改列数据类型:MODIFY 列名 新数据类型;

      (4)修改列名:CHANGE 列名 新列名 数据类型;

      (5)修改表字符集:CHARACTER SET 字符集;

    4.重命名表:RENAME TABLE 表名 TO 新表名;


    三、数据操作(CRUD):

    >>进行与表有关的操作之前都要先USE 数据库,以选择要操作的数据库。

    1.增:INSERT INTO 表名 (列名1,…) VALUES (值1,…);

    2.删:DELETE FROM 表名 (WHERE 条件);   其中,(WHERE 条件)是用来筛选行的。如果不加,则对所有行进行操作。

      TRUNCATE TABLE 表名;  清除表中所有数据。

    3.改:UPDATE 表名 SET 列名1=值1,… (WHERE 条件);

    4.查:SELECT (DISTINCT) 要查询的内容 FROM 表名 附加条件;

    (1)要查询的内容:

    ①列名/表达式

    ②列名/表达式 (as) 别名

    ③合计函数(count(...),sum(...),avg(...),max(...))

    (2)附加条件:

    ①筛选:WHERE 条件

    ②排序:ORDER BY 列名/表达式 ASC/DESC

    ③归组:GROUP BY 列名/表达式(此时,要查询的内容必须为归组依据+合计函数)

     归组筛选:HAVING 条件(合计函数)

    5.条件:

    (1)比较:>,<,=,>=,<=,<>

    (2)区间:BETWEEN ... AND ...

    (3)集合:IN(...)

    (4)为空:IS NULL

    (5)模糊查询:LIKE '...'(%:任意个字符,_:一个字符)

    (6)条件逻辑:AND OR NOT


    四、字符集与校对规则

    1.字符集:一般用utf-8,MySQL中是"utf8"。然而Windows中很多地方默认字符集并不是utf-8,比如.txt默认GBK,.doc默认GB2312。总之,按需求设置即可。

    2.校对规则:一般选择默认校对规则即可。比如utf-8对应"utf8_general_ci"。具体可以查阅文档。


    五、数据类型

    1.数值类型

    (1)整型:BIT(位数),TINYINT(1字节),SMALLINT(2字节),MEDIUMINT(3字节),INT(4字节),BIGINT(8字节),无符号数加[UNSIGNED]或[ZEROFILL]

    (2)小数:FLOAT(长度,位数),DOUBLE(长度,位数),DECIMAL(长度,位数)(高精度数)

    (3)布尔型:BOOLEAN,BOOL:用0和1表示假和真

    2.文本类型

    (1)字符串:CHAR(长度)(固定长度,最大255),VARCHAR(长度)(可变长度,指定上限,最大65535)

    (2)大文本:TINYTEXT(255字节),TEXT(64K),MEDIUMTEXT(16M),LONGTEXT(4G)

    3.二进制类型:TINYBLOB(255字节),BLOB(64K),MEDIUMBLOB(16M),LONGBLOB(4G)

    4.日期/时间类型:DATE(YYYY-MM-DD),DATETIME(YYYY-MM-DD hh:mm:ss),TIMESTAMP(时间戳,可自动保存时间)


    六、表的约束

    1.主键约束:PRIMARY KEY(主键),AUTO_INCREMENT(自增)

    删除主键约束:ALTER TABLE 表名 DROP PRIMARY KEY;

    若设置了自增,应先删除自增:ALTER TABLE 表名 CHANGE 主键名 主键名 数据类型;(就是重命名主键列)

    2.唯一约束:UNIQUE

    3.非空约束:NOT NULL

    4.外键约束:CONSTRAINT 约束名(被约束者_FK) FOREIGN KEY(外键列名) REFERENCES 来源表(相关列)

  • 相关阅读:
    Yii2 DetailView小部件
    Yii2 数组助手类arrayHelper
    Yii2 查询构建器 QueryBuilder
    yii2 数据库和ActiveRecord
    Freemake Video Converter视频转换软件下载地址及去广告
    Photoshop独立安装包下载页面
    Photoshop快捷键整理
    json-lib和dom4j实现JSON转XML
    SpringMVC文件上传
    java http 伪造请求头
  • 原文地址:https://www.cnblogs.com/cage666/p/7295393.html
Copyright © 2011-2022 走看看