-
关系型数据库(SQL)
- MySQL、Oracle、SQL Server、DB2、SQLlite
- 通过表与表之间,行与列之间的关系进行数据的存储
-
非关系型数据库(NoSQL:Not only SQL)
- Redis、MongoDB
- 对象存储,通过对象自身的属性来决定
-
DBMS(数据库管理系统):数据库的管理软件,科学有效的管理数据,维护和获取数据
-
MySQL常用命令(SQL语句不区分大小写)
mysql -uroot -p123456 --命令行连接数据库 --所有的SQL语句都要以分号结尾 update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'; --修改用户密码 flush privileges; --刷新权限 show databases; --查询所有的数据库 use 数据库名; --切换数据库 show tables; --查看数据库中所有的表 describe 表名; --显示数据库中表的所有信息 create database if not exists 数据库名; --创建数据库 drop database if exists 数据库名; --删除数据库 exit; --退出连接 -- 单行注释 /* 多行注释 */
-
SQL结构化查询语言
- DDL(Data Definition Languages):数据库定义语句
- 用来创建数据库中的表、索引、视图、存储过程、触发器等
- 常用关键字:CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME
- DML(Data Manipulation Language):数据操纵语句
- 用来查询、添加、更新、删除等
- 常用关键字:SELECT、INSERT、UPDATE、DELETE、MERGE、CALL、EXPLAIN PLAN、LOCK TABLE,包括通用性的增删改查
- DCL(Data Control Language): 数据控制语句
- 用于授权/撤销数据库及其字段的权限
- 常用关键字:GRANT、REVOKE
- DQL:(Data Query Language): 数据查询语言
- 常用关键字:SELECT、FROM、WHERE、ORDER BY、HAVING、ASC|DESC
- TCL(Transaction Control Language): 事务控制语句
- 用于控制事务
- 常用关键字:COMMIT、ROLLBACK、SAVEPOINT、SET TRANSACTION
- CCL(Cursor Control Language):指针控制语言
- 用于对一个或多个表单独行的操作
- 常用关键字:DECLARE CURSOR、FETCH INTO、UPDATE WHERE CURRENT
- DDL(Data Definition Languages):数据库定义语句
-
数据库的列类型
数值
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-01-01 00:00:00到现在的毫秒数(较为常用) year 年份表示
null
- 没有值,未知
- 注意:不要使用null进行运算,结果也是null
-
数据库的字段属性
unsigned
- 无符号的整数
- 说明了该列不能声明为负数
zerofill
- 0填充
- 不足的位数用0来填充。int(3) : 5 —> 005
auto_increment
- 自增,自动在上一条记录的基础上+1(默认)
- 通常用来设计唯一的主键,必须是整数类型
- 可以自定义主键自增的起始值和自增步长
非空
- 不赋值就会报错
- 若不选择非空,不填写值默认是null
默认
- 设置默认的值
-
每个表都必须存在的五个字段(表示一个记录存在的意义)
- id 主键
- version 乐观锁
- is_delete 伪删除
- gmt_create 创建时间
- gmt_update 修改时间
-
数据表的类型
关于数据库引擎
MYISAM(早些年使用) INNODB(默认使用) 事务支持 不支持(最新版支持) 支持 数据行锁定 不支持 支持 外键 不支持 支持 全文索引 支持 不支持 表空间的大小 较小 较大,约为前者2倍 - 常规使用操作:
- MYISAM:节约空间。速度较快
- INNODB:安全性高,支持事务的处理,多表多用户操作
在物理空间存在的位置
- 所有的数据库文件都存在data目录下,本质还是文件的存储
- MySQL引擎在物理文件上的区别
- INNODB:在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
- MYISAM对应的文件
- *.frm 表结构的定义文件
- *.MYD 数据文件(data)
- *.MYI 索引文件(index)
设置数据库的字符集编码
- charset = utf8,utf8支持中文,默认是Latin1不支持中文
- 常规使用操作:
MySQL初识
最新推荐文章于 2024-11-03 09:30:00 发布
本文介绍了关系型数据库(如MySQL、Oracle)与非关系型数据库(如Redis、MongoDB)的区别,并重点讲解了MySQL的常用操作,包括连接数据库、修改用户密码、查询与管理数据库、数据操纵及事务控制。同时,讨论了数据库的字段类型、属性以及数据库引擎的选择,如InnoDB与MyISAM的特性对比。此外,还提到了数据库字符集设置和数据类型,如数值、字符串、时间日期等。
摘要由CSDN通过智能技术生成