zoukankan      html  css  js  c++  java
  • 关于mysql的使用命令(持续更新中...)

    特别提示  本说明中的mysql 是基于windwos平台下的5.5 版本

    安装完成后 请到mysql中设置配置文件  

    链接分享:链接:https://pan.baidu.com/s/1tv4ulZW1iUVl0ukn5WtV6w
    提取码:rso9
    (永久有效)

    本篇教程的主要目的为  好记性不如烂笔头  增加自身今后学习的备忘录

     学习之前 对几个关键性的关键字(语义同单词)  !!! 熟记 !!!

    alter 修改

    insert 插入

    create 创建

    delete 删除

    update 更新

    select 查询

    drop 移除 / 停止

    add 增加

    show 显示
    IF   如果

    table  表

    database  数据库

    from  从某某某.. / 对.某某某..

    set  设置

    on  多张表的连接操作


    学习命令笔记:

    windwos下的       cls  清屏命令
    
    mysql 登录命令  mysql -u账户  -p密码  --prompt参数
    --prompt  是进行提示符 修改
    DELIMITER 修改结束符

    可在登录时进行此修改 亦可通过进入mysql后修改 prompt 参数
    参数 描述
    D 完整的日期
    d 当前数据库
    h 服务器名称
    u 当前用户

     数据库

    创建数据库  create database 数据库名称  character set= 编码方式;
    
    修改数据库  alter database 数据库名称  character set =编码方式;
    
    删除数据库  drop  database 数据库名称;
    
    显示所有数据库  show  databases;
    
    打开数据库 USE 数据库名称;
    
    查询当前打开的数据库  SELECT DATABASE();
    
    查询当前数据库的详细信息  SHOW CREATE DATABASE 数据库名称;

    数据表数据操作

    创建表 CREATE TABLE 表名【IF NOT EXISTS】(列名称 列类型,....);
    
    查看数据库所有表 SHOW TABLES [  FROM 表名 ] [ LIKE '条件'   |   WHIERE expr  ];  也可查询关于某一数据库下的表
    
    查看表结构 SHOW COLUMNS FROM 表名;
    
    查看表 的索引 SHOW INDEXES FROM 表名【G】;[G] 表示以网格形式出现
    
    插入记录1:
     INSERT [ INTO ] 表名 [  (列名,...) ]  VALUES(值域,...),(值域,....);  如果省略掉列名 就要为所有的列赋值 且NOT NULL 的值一定要赋值
    
    插入记录2:  可用于子查询
     INSERT [ INTO ] 表名 SET 列名= { 值 | DEFAULT },列名 ={值 | DEFAULT }.....       
                 
    插入记录3: 将查询的结果写入数据表
     INSERT [ INTO ] 表名 [ ( 列名,列名,... ) ] SELECT ...
    
    
    删除记录(单表)
    DELETE FROM 表名 WHERE 条件;
    
    更新记录(单表)
    UPDATE 表名 SET 列名 = { 值 | DEFAULT },列名1 = { 值 | DEFAULT },列名2 = { 值 | DEFAULT }...  WHERE  条件;
    
    查询记录
     SELECT 表达式 [ 列名,... ]  FROM 表名 WHERE 条件 ; * 为字段过滤
    查询记录的别名的使用
     原名 as 别名

    修改数据表

    增加列   ALTER TABLE 数据表 ADD 列名 约束 【FIRST | AFTER】 列名;
    
      默认插入到所有列名后 可通过 FIRST | AFTER  修饰
    
      FIRST 将插入到所有列名前
    
      AFTER 插入到指定列名后    如果不指定列名 插入到所有列名后
    
      添加多列  添加多列不能指定位置关系
    
          ALTER TABLE 数据表 ADD (列名 类型 约束 ,列名 类型 约束,......)
    
    
     
    
    删除列   ALTER TABLE 数据表 DROP  列名 ;
    
        删除多列  ALTER TABLE 数据表 DROP  列名 , DROP 列名 ;
    
        如果像同时操作删除或者添加 只需要用, 分隔
    
          例: ALTER TABLE 数据表 add 列名 类型 约束 , drop 列名;
    
          允许新增多列的时候 进行删除操作
    
          例:ALTER TABLE users ADD (a1 TINYINT not null,a2 TINYINT NOT NULL) ,drop m;
    修改列定义
    
    可修改类型  也可添加位置关键字  如果不填  将保持当前位置 
    修改类型时:将大类型改到小类型有可能造成数据丢失
    
    AFTER TABLE 表名 MODIFY [column ] 列名  类型   【first | AFTER  列名】;
    修改列名称
    
    原理同 修改列定义  
    ALTER TABLE 表名 CHANGE [ COLUMN ] 待修改列名称  列新名称  类型  【 FIRST | AFTER  列名】;
    数据表更名
    
    方法1:
    
    AFTER  TABLE 数据表名称 RENAME 新名称;
    
    方法2:
    可同时修改多个
    RENAME TABLE 数据表名称  TO 新名称 【,数据表名称  TO 新名称,数据表名称  TO 新名称......】

    约束

    NULL            为空
    
    NOT NULL   不能为空  设置为空时 应在字段类型后设置  如: alter table 表名  add 列名  类型  NOT NULL ....
    
    AUTO_INCREMENT  自动编号 必须和主键配合使用  其实值为1 每次增量为1   每次插入记录时  可在值域内 写NULL 或 DEFAULT 
    
    主键约束
    
    每张表 只能存在一个主键
    
    主键保证记录的唯一性
    
    主键自动为NOT NULL
    
    PRIMARY KEY
    
    唯一约束
    
    唯一约束保证记录的唯一性
    
    唯一约束的字段可以为NULL
    
    每张表可以存在多个唯一约束
    
    UNIQUE KEY
    
    默认约束
    
    DEFAULT  插入记录时 如果没有为字段赋值 则使用默认值
          索引关键字  FOREIGN KEY(列名) REFERENCES 参照表  (参照表的列名)
    外键约束条件 :(存在外键列的为子表   参照列为父表)
    
    1、父表和子表必须使用相同的INNODB数据引擎
    
    2、如果外键约束列为数字 则必须类型和符号位都相同  如果是字符 则不要求长度相同
    
    3、外键列和参照列必须创建索引     主键会自动创建索引
    
    4、如果外键列不存在索引的话 将自动创建索引
    
     5、外键约束参照操作
    
      CASCADE 父表删除将影响字表
    
      SET NULL 从父表删除将设置字表为NULL   且字表不能是NOT NULL 约束
    
      RESTRICT  拒绝父表更新
    
      NO ACTION 拒绝父表更新 同 RESTRICT  此为标准sql 关键字

    修改约束

    添加主键约束
    AFTER TABLE  表名 ADD  [ CONSTRAINT [ 名称 ]  ]  PRIMARY  KEY [索引](列名);
    删除主键约束
    AFTER TABLE 表名 DROP PRIMARY KEY;
    
    添加唯一约束
    可同时添加多行
    AFTER TABLE  表名 ADD  [ CONSTRAINT [ 名称 ]  ]  UNIQUE [ INDEX / KEY ]  (列名,列名,列名....);
    删除唯一约束
    AFTER TABLE 表名 DROP {INDEX | KEY} 列名;
    
    添加外键约束
    AFTER TABLE 表名 ADD  [ CONSTRAINT [ 名称 ]  ]  FOREIGN KEY (列名,列名....)
    REFERENCES  参照表名 (参照表列名,....)
    删除外键约束
    AFTER TABLE 表名 DROP FOREIGN KEY 列名;
    
    添加/删除默认索引
    AFTER TABLE 表名  ALTER 列名 { SET DEFAULT|   DROP DEFAULT };

     函数

    CREATE FUNCTION 函数名称( [函数参数] ) RETURNS 返回类型 
    [BEGIN]
    RETURN
    执行语句
    [NED]

    说明:
    如果有多个语句可使用BIGIN - END 组合复合语句 在待返回的语句前加RETURN 以返回值
    在BIGIN - END 前加RETURN 会报错!!!

    整型

    数据类型 (整型) 存储范围
    TINYINT 1字节
    SMALLINT 2
    MEDIUMINT  3
    INT 4
    BIGINT 8
    TINY
    
    SMALL
    
    MEDIUM
    
    BIG
    
    UNSIGEND 无符号类型

    浮点型

    数据类型(浮点型) 存储范围
    float 【(M,D)】 可保留大约七位小数
    double【(M,D)】  

    M表示 总位数 D表示小数位数


    日期时间型

    类型 存储要求
    YEAR 1 年份  1970~2069
    TIME 3 时间类型 -8385959~8385959
    DATE 3 日期 1000年1月1日~9999年的12月31日
    DATETIME 8 日期时间 10000年1月1日0点~9999年的12月31号59分59秒
    TIMESTAMP 4 时间戳  1970年1月1日0点~2037年

    字符型

    类型 存储需求
    CHAR(M) 定长    M个字节 0<=M<=55
    VARCHAR(M) 变长   0<=M<=65535
    TINYTEXT L+1个字节 L<28
    TEXT   L+2个字节 L<216
    MEDIUMTEXT L+3个字节 L<224
    LONGTEXT L+4个字节 L<232
    ENUM('',''...) 1或者2个字节 取决于枚举的个数  枚举
     SET('','',...) 1、2、3、4、8个字节 取决于SET成员的数目 最多64个成员 集合

  • 相关阅读:
    招聘面试—关于Mysql的一点儿总结
    情景linux—不曾了解的cat用法
    情景linux--shell如何实现多线程?
    情景linux--如何解决read命令产生的硬编码问题
    情景linux--如何优雅地退出telnet
    性能测试-概念篇-性能测试分类
    情景linux--如何摆脱深路径的频繁切换烦恼?
    TCP--telnet为何在127s后返回?
    你为什么必须(从现在开始就)掌握linux
    Cookie/Session机制详解
  • 原文地址:https://www.cnblogs.com/char-cheng/p/11142956.html
Copyright © 2011-2022 走看看