mysql常用SQL命令总结笔记一(超详细)

SQL在数据分析中有重要的地位,而MySQL 是一个高性能且相对简单的数据库系统,没有用户数的限制,多个客户机可同时使用同一个数据库,可利用几个输入查询并查看结果的界面来交互式地访问 MySQL。在此总结SQL常用命令,也是自己回顾的过程。

  1. 语法规范
    大写:关键字 函数名称
    小写:数据库名称 表名称 字段名称
    sql语句箭头为分行 用;结尾

  2. mysql支持的数据类型
    整型:TINYINT—SMALLINT—MEDIUMINT—INT—BIGINT
    浮点型:FLOAT—DOUBLE—DECIMAL(定点数,以字符串形式,精度高)
    字符串型:CHAR(定长)–VARCHAR(不定长)–TEXT(只能存储文本字符,无默认值)–ENUM(枚举型,保存序号而非值)–SET(集合)
    效率:CHAR>VARCHAR>TEXT
    日期时间类型:TIME—DATE—DATETIME—TIMESTAMP—YEAR(最常用,其他可以用INT保存时间戳,方便计算)
    PS.对数据范围不清楚可使用help在线查询,很方便

  3. 数据库相关操作
    1.创建数据库
    CREATE DATABASE db_name(数据库名称);
    2.显示当前已有数据库
    SHOW DATABASES;
    3.查看指定数据库定义
    SHOW CREATE DATABASE db_name;
    4.创建数据库并设定指定编码方式
    CREATE DATABASE IF NOT EXISTS db_name SET ‘GBK’
    5.修改编码方式
    ALTER DATABASE db_name DEFAULT CHARACTER SET utf8
    6.打开指定数据库
    USE db_name;
    7.当前打开数据库名称
    SELECT DATABASE();
    8.删除指定数据库
    DROP DATABASE 名称;

4. 数据表相关操作
数据表是存储数据的数据结构,是包含了特定实体类型的数据。

  1. 创建表(完整语句见后)
    CREATE TABLE 表名称(num1,num2…);

  2. 查看表结构
    DESC / DESCRIBE / SHOW COLUMNS +表名称;
    括号里的数为显示位数,只有当加上ZEROFILL后才有意义,仅为美观

  3. 向表中插入记录
    INSERT 表名称 VALUES();

  4. 查询表中所有记录
    SELECT * FROM 表名称;

  5. 修改表名称ALTER
    ALTER TABLE 原表名 RENAME TO/AS/省略 新表名;或者
    RENAME TABLE 原表名 TO 新表名;

  6. 添加/删除字段 ADD/DROP
    添加:ALTER TABLE 表名 ADD 字段名称 字段类型 [完整性约束条件] [位置(FIRST/AFTER 字段名);
    删除:ALTER TABLE 表名 DROP 字段名称;

  7. 修改字段属性/位置MODIFY
    ALTER TABLE 表名 MODIFY 字段名及属性;
    ALTER TABLE 表名 MODIFY 字段及新位置;

  8. 修改字段名称CHANGE
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 属性;
    Ps.change也可以修改字段属性/位置,只要名字不变即可

  9. 添加/删除默认值
    ALTER TABLE 表名 ALTER 字段名 SET DEFAULT 默认值;
    ALTER TABLE 表名 ALTER 字段名 DROP DEFAULT ;

  10. 添加/删除主键ADD
    ALTER TABLE 表名 ADD PRIMARY KEY(字段1,2…);
    ALTER TABLE 表名 DROP PRIMARY KEY;
    Ps.对自增长的主键不可直接删除,要先MODIFY自增长,再删除主键

  11. 添加/删除唯一索引
    ALTER TABLE 表名 ADD UNIQUE (字段名);
    默认的索引名就是字段名,若要修改索引名称:
    ALTER TABLE 表名 ADD CONSTRAINT symbol UNIQUE KEY 字段名(索引名);
    删除:ALTER TABLE 表名 DROP KEY/INDEX 索引值

  12. 修改存储引擎
    ALTER TABLE 表名 ENGINE=新引擎;

  13. 修改自增长值
    ALTER TABLE 表名 AUTO_INCREMENT=值;

  14. 删除表
    DROP TABLE 表名;

创建表完整语句:
CREATE TABLE [IF NOT EXISTS] 表名称(字段名称 字段类型 [UNSIGNED|ZEROFILL] [NOT NULL] [DEFAULT 默认值] [[PRIMARY] KEY|UNIQUE [KEY]] [AUTO_INCREMENT] ); ENGINE=INNODB CHARSET=UTF8 AUTO_INCREMENT=100;

其中,UNSIGNED为无符号,ZEROFILL为零填充(常用于美观),后面括号内均为完整性约束条件,包括:
1.主键 PRIMARY KEY,不能重复,自动非空
2.自增长AUTO_INCREMENT,一定是主键,必须是整数型(字符串不可以)
3. 非空约束NOT NULL,要求某项为必填项
4. 默认值DEFAULT,一般和非空配合使用,非空后给定默认值
5. 唯一性约束UNIQUE KEY,不可以重复,可以为NULL
ENGINE为引擎,常用引擎及特点如下:
InnoDB:提供事物 回滚 修复能力 多版本并发控制的事物安全 ;读写效率低 占用空间大
MyISAM: 支持静态型 动态型 压缩型 插入读取的处理速度快,空间小;不支持事物
MEMORY:数据存放在内存中 提高表的处理效率;一般一次性使用

后续笔记会继续更新~

你可能感兴趣的:(mysql常用SQL命令总结笔记一(超详细))