3MySQL数据库- SQL语言基础 - 全栈式开发27

SQL语言基础

一、SQL语言介绍

SQL介绍

  • SQL是结构化查询语言,是一种永凯操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持试用SQL语言进行操作,也就是说可以通过SQL操作oracle、sql server、mysql等关系型数据库
  • 注意:对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径

SQL语言主要分类

  • DDL语言:数据定义语言,这些语句创建不同数据段、数据库、表、列、索引等数据库对象
  • DML语句:数据操作语句,用于添加、删除、更新和查询数据库记录毛病检查数据完整性。DBA来做增、查、更新 。删的话不一定会给权限,DDL 与 DML语句是重要的两部分,DML最重要
  • DCL语句:数据控制语句,用于控制不同数据段直接许可和访问级别的语句

二、SQL数据存储的相关知识

数据完整性:

  • 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束

数据字段的类型

  • 无符号范围:用于正数位数范围大(两倍),正数,unsigned
  • 够用就好
  • 浮点数的size 要大于等于d,因为size是总的位数,包含小数位数在内的
整数类型有符号范围无符号范围
TYNYINT(size)-128~1270~255
SMALLINT(size)-32768~327670~65535
MEDIUMINT(size)-8388608~83886070~16777215
INT(size)-2147483648~2147483647 默认11位0~4294967295
BIGINT(size)-9223372036854775808~92233720368547758070~18446744073709551615
小数类型描述
FLOAT(size,d)近似取值,size最大位数,d小数点的最大位数 ,不满足的小数会四舍五入,不指定的话就几位小数就保存几位
DOUBLE(size,d)近似取值,比FLOAT范围更大,size最大位数,d小数点的最大位数 ,不满足的小数会四舍五入,不指定的话就几位小数就保存几位
DECIMAL(size,d)常用,精确取值,与其他的区别就是有默认值,默认DECIMAL(10,0)。size最大位数,d小数点的最大位数 ,不满足的小数会四舍五入,作为字符串存储的 DOUBLE(size,d)
日期时间类型描述
DATE()日期。格式:YYYY-MM-DD 支持的范围:‘1000-01-01’ ~ ‘9999-12-31’
DATETIME()日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS 支持的范围:‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’
TIME()时间。格式:HH:MM:SS 支持的范围:‘ -838:59:59’ ~ ‘838:59:59’
YEAR()2位或4位格式的年。4位格式:1901~ 2155 2位格式:70 ~ 69表示1970~2069
TIMESTAMP()时间戳。格式:YYYY-MM-DD HH:MM:SS 支持的范围:‘1970-01-01 00:00:01’ UTC~ ‘2038-01-09 03:14:07’UTC
字符串类型描述示例
CHAR(size)0~ 255 长度规定不变,小于的会用空格填充,大的话会缩短,在数据库设计中,如果字段长度大体能够确定,建议用char,因为Varchar类型在数据库查询中效率不如char类型高char(3)输入‘ab’,实际存储的是‘ab ’ ,输入‘abcd’,实际存储‘abc’
VARCHAR(size)0~65535 小于就是小的,大的话会缩短varchar(3)输入‘ab’,实际存储的是‘ab’ ,输入‘abcd’,实际存储‘abc’
枚举类型
英文ENUM,就是类似虚拟变量,将字符串的变量变成可以操作的数值,从1开始,例如性别m= 1,f =2,

数据字段的约束

  • 主键primary key: 物理上存储的顺序,alter改变该字段的时候 primary key不能重写
  • 非空not null:此字段不允许填写空值
  • 唯一unique:此字段的值不允许重复(身份证号、银行卡号等)
  • 默认default:当不填写此值时会使用默认值,如果填写时以填写为准
  • 外键foreign key:对关系字段进行约束,当为关系字段填写值时,会关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常

其他信息

  • 列:字段
  • 行:记录
  • 每一个sql语句都必须以;结尾,不严格区分大小写
  • 如果名称包含下划线等特殊字符的话,加` 名称 `
  • 字段自增:字段名 auto_increment 加了这个就必须定义成key
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋芋本人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值