(数据库)知识点整理
2022/8/1 2:24:38
本文主要是介绍(数据库)知识点整理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
需要记得数据库知识点
一、基本操作
SHOW DATABASES -- 查看所有数据库 USE school -- 切换数据库 SHOW TABLES -- 查看数据库内所有表 DESCRIBE student -- 显示数据库表中所有信息 CREATE DATABASE westos; -- 新建数据库 EXIT -- 退出连接 -- 单行注释 /* 多行注释 */ -- 删除 DROP DATABASE IF EXISTS westos -- 删除数据库,如果该数据库存在 -- 建立 CREATE DATABASE IF NOT EXISTS westos -- 建立数据库,如果数据库不存在 -- 关键字使用飘``` USE `westos` -- 查看数据库 SHOW DATABASES -- 查看所有数据库 涉及到多个数据库时database后加s
数据库××语言
DDL 定义
DML 操作
DQL 查询
DCL 控制
二、需要记忆的列类型
数值
-
tinyint 十分小的数据 1个字节
-
smallint 较小的数据 2个字节
-
mediumint 中等大小的数据 3个字节
-
int 标准的整数 4个字节
-
bigint 较大的数据 8个字节
-
float 浮点数 4个字节
-
double 浮点数 8个字节(存在精度问题)
-
decimal 字符串形式的浮点数 金融计算
字符串
-
char 字符串固定大小 0-255
-
varchar 可变字符串 0-65535(常用的变量)
-
tinytext 微型文本 2^8-1
-
text 文本串 2^16-1(保存大文本)
时间日期
-
date YYYY-MM-DD,日期
-
time HH:MM:SS,时间格式
-
datetime YYYY-MM-DD HH:MM:SS 最常用的时间格式
-
timestamp 时间戳,1970.1.1到现在的毫秒数
-
year 年份表示
null
-
没有值,未知
-
注意,不要使用null进行运算,结果为null
三、数据库的字段属性(重点)
unsigned:
-
无符号的整数
-
声明了该列不能声明为负数
zerofill:
-
0填充
-
不足的位数,使用0来填充,int(3),5->005
自增
-
通常理解为自增,自动再上一条记录的基础上+1(默认)
-
通常用来设计唯一的主键 index,必须时整数类型
-
可以自定义设置主键自增的起始值和步长(高级->自动增量,默认为1)
非空
NULL nut null
-
设置为not null时,不给它赋值,就会报错
-
null,如果不填写值,默认为null
默认
-
设置默认值
-
sex,默认值为男,如果不指定该列的值,则有默认值
(拓展)
每个表,都必须存在一下五个字段做项目时表示一个记录的健壮性和安全性
-
id 主键
-
version 乐观锁
-
is_delete 伪删除
-
gmt_create 创建时间
-
gmt_update 修改时间
四、创建数据库
-
列名``
-
类型 int(), varchar(), datetime()
-
是否为空 not null
-
默认值 default'默认内容'
-
自加(主键或其它)auto_increment
-
注释 comment'注释内容'
-- 创建数据库 CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', -- 1.类型为int类型展示4位 2.设置不为空 3.设置自增 4.设置注释,使用单引号 5.所有语句最后加,最后一句不用加 `name` VARCHAR(30) NOT NULL DEFAULT'匿名' COMMENT'姓名', -- 1.类型为varchar类型30位 2.设置不为空 3.设置默认值'匿名' 4.设置注释 `pwd`VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码', -- 1.类型为varchar类型20位 2.设置不为空 3.设置默认值'123456' 4.设置注释 `sex`VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别', `birthday` DATETIME DEFAULT NULL COMMENT'出生日期', -- 1.类型为datetime时间类型 2.设置默认值NULL 3.设置注释 `address` VARCHAR(100) DEFAULT NULL COMMENT'家庭住址', -- 1.类型为varchar类型100位 2.设置默认值NULL 3.设置注释 `email` VARCHAR(50) DEFAULT NULL COMMENT'邮箱', -- 1.类型为varchar类型50位 2.设置默认值NULL 3.设置注释 PRIMARY KEY(`id`) -- 设置主键,一般一个表只有一个放到最后 )ENGINE=INNODB CHARSET=utf8 -- 1.设置引擎innodb 2.设置编码utf8
五、数据表类型
关于数据库引擎
-
innodb 默认使用
-
myisam 早些年使用
区别:
myisam | innodb | |
---|---|---|
事物支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大,约为两倍 |
常规使用操作:
-
myisam:节约空间,速度快
-
innodb:安全性高,事物的处理,多表多用户操作
在物理空间存在的位置
所有的数据库文件都存在data目录下
本质还是文件的存储
MySQL引擎在物理文件上的区别
-
innodb 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
-
myisam对应文件
-
*.frm 表结构的定义文件
-
*.MYD 数据文件 (data)
-
*.MYI 索引文件(index)、
-
设置数据库表的字符集编码
charset=utf8
不设置的话,会是mysql默认的字符集编码(不支持中文)
MySQL默认的编码是latin1,不支持中文
在my.ini中配置默认的编码
character-set-server=utf8
六、修改删除表
-
修改
-- 修改表名字 ALTER TABLE student RENAME AS students -- 添加表字段 ALTER TABLE students ADD `age` INT(11) NOT NULL DEFAULT'27' COMMENT'年龄' -- 查看表 SHOW KEYS FROM `school`.`students` -- 修改表字段(重命名,修改约束)modify:修改 ALTER TABLE students MODIFY age VARCHAR(11) -- 修改类型 ALTER TABLE students CHANGE age1 age VARCHAR(11) -- 修改字段名 要加上类型
-
删除
-- 删除表的字段 ALTER TABLE students DROP age -- 删除表(如果存在便删除) drop table if exists students
-
所有的创建删除操作尽量加上判断,以免报错
-
注意点:
-
字段名使用``包裹
-
注释 -- /**/
-
sql关键字大小写不敏感,建议小写
-
七、DML语言(重点 背)
P13
数据库意义:数据存储,数据管理
DML语言:数据操作语言
-
insert
-
update
-
delete
-
添加
-
修改
-
删除
这篇关于(数据库)知识点整理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南