SQL语言/数据类型

SQL语言

SQL(Structured Query Language 即结构化查询语言),SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。

分类

DDL(data definition language)

数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER。

DML(data manipulation language)

DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE。

DQL(Data Query Language)

数据库查询语言: 查询数据SELECT。

DCL(Data Control Language)

DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE。

举例

DDL语句--数据库操作

1. 查询

查询所有的数据库: show databases;

查询当前的数据库: select database();

2. 创建

create database 数据库名 ;

数据库名要求:

  • 区分大小写
  • 唯一性
  • 不能使用关键字如 create select
  • 不能单独使用数字和特殊符号“如-"
  • 正常的:用拼音或单词即可。

3. 删除

drop database 数据库名;

DDL表操作创建和查询

1. 查询当前数据库所有表

show tables;

2. 查询表结构

desc 表名;

3. 查询指定的建表语句

show create table 表名;

DDL表操作

1. 建表

CREATE TABLE 表名(
	字段1 字段1类型[COMMENT 字段1注释],
    字段2 字段2类型[COMMENT 字段2注释],
    字段3 字段3类型[COMMENT 字段3注释],
    ......
    字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];

2. 修改

添加字段: alter table 表名 add 字段名 类型(长度) [约束];

数据类型

整数类型

tingint/int

tingint 有符号性最大127/int 有符号型最大2147483647

unsigned

数值无符号,就只能输入正值,不能输入负值

int

插入大于INT宽度限制的值,仍然可以存储。但不能超过上限2147483647

INT整形的宽度仅为显示宽度,不是限制。因此建议整形无须指定宽度。字符型需要使用宽度。

zerofill

zerofill 自动填充0

浮点类型

浮点数和定点数都可以用类型名称后加(M,D)的方式来表示,(M,D)表示一共显示M位数字(总数位+小数位),其中D位于小数点后面,M和D又称为精度和标度。

float

float(5,2)5是整数加小数的总长,2是小数长度。整数意味只有3位长度。

decimal ---精度小数

定点数在MySQL内部以字符串形式存储,比浮点数更精确,适合用来表示货币等精度高的数据。decimal在不指定精度时,默认的整数位为10,默认的小数位为0

注意:超长部分不记录,会四舍五入

总结

  • float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位,小数点占一位)
  • double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
  • decimal:数字型,128bit,常用于银行帐目计算。(28个有效位)

日期和时间类型

data / time

下图的命令是插入当前日期

timestamp

timestamp 该列插入空值时,会自动填入当前时间。

注意:手动插入时间的时候必须加单引号。

year

其它的时间,按要求插入

==插入年份时,尽量使用4位值

==插入两位年份时,<=69,默认以20开头,比如65, 结果2065

>=70,默认以19开头,比如82,结果1982

字符串 

char / varchar

CHAR 列的长度固定为创建表时声明的长度: 0 ~ 255

VARCHAR 列中的值为可变长字符串,长度: 0 ~ 65535

在检索的时候,CHAR列删除了尾部的空格,而VARCHAR则保留这些空格

length(v) 统计长度的函数

concat(v,'=') 拼接函数

二进制字符

BINARY / VARBINARY

binary和 varbinary类似于CHAR 和 VARCHAR,

不同的是它们包含二进制字符,而不包含非二进制字符串

枚举 集合类型

enum ----单选、多选

字段的值只能在给定范围中选择

enum 单选 只能在给定的范围内选一个值,如性别 sex 男male/女female

set 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值