SQL相关指令整理


SQL是用于数据库查询,删改等的一种语言,方便对数据库进行操作。本文主要讲述MySQL下的SQL相关指令。 每一行指令结束记得写分号;

DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

1 表

数据库管理着表以及表和表之间的关系,表中存储着数据,我们绝大多数的操作也都是针对于表。

数据表由行(row)和列(column)组成,是一个二维的网格结构。每个列都是一个字段,每一行是一个记录。字段由字段名称和字段的数据类型以及一些约束条件组成。

常见的约束条件:
NOT NULL:该字段的值不能为空
PRIMARY KEY: 主键,有唯一约束,不能为空,
FOREIGN KEY:外键,数据表2中索引数据表1中主键的键
NOT NULL: 非空约束
UNIQUE : 唯一约束
DEFAULT :如果插入数据时没有给该字段赋值,则使用默认值

1.1 数据类型

常见的数据类型有数值型,字符串类型和日期时间类型:

数值型
  • 整数型
    - TINYINT 非常小的整数
    - SMALLINT 小整数
    - MEDIUMINT 中等大小的整数
    - INT 正常大小的整数
    - BIGINT 大整数
  • 浮点型(近似值)
    - FLOAT 一个小的(单精度)浮点数
    - DOUBLE 正常大小(双精度)浮点数
  • 定点型(精确值)
    - DECIMAL 定点数
字符串型
  • CHAR
  • VARCHAR
    CHAR(X)的长度确定,VARCHAR(X)的长度可变,当X=5时,对于CHAR若输入一个字符,会用空格补齐
  • BINARY
  • VARBINARY
  • BLOB
  • TEXT
  • ENUM
  • SET
日期时间类型
  • TIME
  • DATE
  • DATETIME
  • TIMESTAMP
  • YEAR

1.2表的创建

对于postgresSQL,创表的时候必须显示定义主键。对于MySQL,当创建表时没有显示定义主键时。首先判断表中是否有非空的整形唯一索引,如果有,则该列为主键(这时候可以使用 select _rowid from table 查询到主键列);如果没有符合条件的则会自动创建一个6字节的主键(该主键是查不到的).

所以创表的时候还是应该显示定义主键。

CREATE TABLE <table_name> (
column_name1 type1,
column_name2 type2,
...
column_nameN typeN
); 
#例:
CREATE TABLE IF NOT EXISTS user(
id INT,
account VARCHAR(50) NOT NULL,
name VARCHAR(20) NOT NULL,
age INT,
gender ENUM('male','female','unknown') DEFAULT 'unknown',
PRIMARY KEY(id)#如果多个字段组合成一个主键,用逗号隔开。
#也可以在定义id时直接写成 id INT PRIMARY KEY
);

1.3 表的删除

DROP TABLE <table_name>;
);
#例
DROP TABLE user;

1.4 表的修改

使用ALTER TABLE。
1)加入column

ALTER TABLE <table_name>
ADD 
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值