mysql-库表、字段、约束、索引

目录

1-简单介绍

2-SQL语言分类

3-sql注意事项

4-注释

5-对逻辑库操作

6-对数据表操作

7-数据类型

8-数据库的范式

9-字段约束

10-索引


1-简单介绍

  • SQL:用于访问和处理数据的标准的计算机语言

(就是你说中文,她说英文,让对方理解你,只是sql语言用来操作数据库中的数据,通过这个语句来进行沟通)

2-SQL语言分类

  • DML:增删改查
  • DCL:用户、权限、事务
  • DDL:逻辑库、数据表、视图、索引

3-sql注意事项

  • 语句不区分大小写,但是字符串区分大小写
  • 以分号结尾
  • 语句中空白和换行没影响

4-注释

  • #:注释一行文字
  • /*注释一段文字*

5-对逻辑库操作

  • 创建逻辑库:create database 逻辑库名;
  • 查看逻辑库:show databases;
  • 删除逻辑库:drop database 逻辑库名;

6-对数据表操作

1.创建表:

create table 数据表名( 列名1 数据类型 [约束] [comment 注释], 列名1 数据类型 [约束] [comment 注释], ... );

  • 注意:[ ]的代表可写可不写,最后一列没有逗号,语句结束有分号
  • 查看表:show tables; (查看有几个表)
  • 查看表结构:desc 表名;
  • 删除表结构:drop table 表名;
  • 查看创建表的语句:show create table student;
  • 注意:表结构就是表的第一行,就像第一个创建表的语句,这时候表里面还没有内容

2.添加字段

alter table 表名 add 列名1 数据类型 [约束] [comment 注释], add 列名2 数据类型 [约束] [comment 注释], ...;

3.修改字段类型和约束

alter table 表名 modify 列名1 数据类型 [约束] [comment 注释], modify 列名2 数据类型 [约束] [comment 注释], ...;

4.修改字段名称

alter table 表名 change 列名1 新列名1 数据类型 [约束] [comment 注释], change 列名2 新列名2 数据类型 [约束] [comment 注释], ...;

5.删除字段

alter alter table 表名 drop 列名1, drop 列名2 , ...;

7-数据类型

1.数字:有8个数字类型tinyint、smallint、mediumint、int、bigint、float、double、decimal

  • decimal(5,2)代表全部数字一共5个,小数点后保留2位,例如:543.21

2.字符串:char、varchar、text、mediumtext、longtext

  • char是固定的长度,例如char(10)代表开辟的空间是10,但是我们的保存的内容只占3个字符就很浪费空间
  • varchar是不固定的长度,例如varchar(10),我们保存的内容是3个字符,它就用3个空间保存,最大保存10个空间

3.日期:date、time、year、datetime、timestamp

  • date:年月日
  • time:具体时间
  • year:年
  • datetime:年月日+具体时间
  • timestamp:年月日+具体时间,但是是1970年之后的时间

8-数据库的范式

  • 范式:就是构建数据库的一致规则(就像你去学校要遵守学校的规则,所以构建数据库也需要一些规矩)
  • 目前数据有6种范式,一般情况,只满足第三范式

1.第一范式:原子性,这是基本要求,不满足就不是关系型数据库

  • (首先mysql是关系数据库,关系数据库就是,表与表之间有一定练习。原子性,是不可分割的意思,每一列的数据不可以分割的,例如某一列是用来保存班级的,你填入的是初一3班,这个初一三班就是可以分割的,不满足第一范式,因为初一三班可以分为初一和三班,需要保存在年级和班级中)

2.第二范式:唯一性,每一条记录都是唯一的

  • (比如一张表里面,只有三个字段,姓名、成绩、日期,你进行了三次考试,所以表里面保存了三条记录,但是这三条记录都是相同的,违反了每条记录唯一性,这时候你需要给表加一个字段,让它不同,作为记录的唯一标识)

3.第三范式:关联性,每一列都与主键有直接关系,不存在传递依赖

  • (比如一张表的字段为父亲、母亲、儿子、儿子的玩具,这就存在依赖关系,儿子和儿子的玩具存在依赖,应该把儿子和儿子的玩具保存在一张表中)

9-字段约束

  • 就是对所要保存字段的要求
  1. 主键约束:primary key ,字段值唯一,不能为空,建议用数字类型,还可以设为auto_increament
  2. 外键约束:foreign key,保持关联数据的逻辑性 设置了外键,如果一张表中把该字段删除了,另一张表的有些数据就不符合要求了
  3. 唯一约束:unique ,字段值唯一,可以为空
  4. 非空约束:not null,字段值非空

10-索引

  • 索引就是你要查找数据的时候方便的标记,例如你新华字典旁边把相同字母弄成了一个颜色,这样方便你查看,提升你查找的速度
  • 使用原则:一般添加经常被查询的字段

1.创建索引:

create table 表名( ... index [索引名称](字段) ... );

2.添加索引:

create index 索引名 on 表名(字段); alter table 表名 add index [索引名](字段);

3.删除索引:

drop index 索引名 on 表名;

4.查看索引:

show index from 表名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值