
自己的MySQL阅读笔记,持续更新,直到看书结束。
数据库技术可以有效帮助一个组织或者企业科学、有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一。
大家如果看过MySQL的书,也可以看我的知识导图做一个复习,因为是自己的读书笔记,所以有的地方也不是很详尽,但是十分欢迎私下交流共同进步。
SQL整理的目录
今天有觉悟:专栏索引——个人的数据分析学习(持续更新)zhuanlan.zhihu.com
目录
- 定义数据库
- 创建数据库
- 选择与查看数据库
- 修改数据库
- 删除数据库
- 定义表
- 创建表
- 查看表
- 修改表
- 添加字段
- 修改字段
- 删除字段
- 重命名表
- 删除表
- 表的数据更新
1.定义数据库
1.1 创建数据库
基本语法格式
CREATE - []内为可选项
- | 或的关系,任选一项
- db_name 数据库名字
- IF NOT EXISTS 如果没有存在则创建
- CHARACTER SET 指定数据库字符集 中文gb2312
- COLLATE 指定字符集校对规则 中文为gb2312_chinese_ci
实例
- 创建一个名为db_school的数据库
CREATE 1.2 选择与查看数据库
1 选择数据库
USE - USE指定其为当前数据库
2 查看数据库
SHOW - 查看当前可用数据库列表
1.3 修改数据库
基本语法格式
ALTER - 1.ALTER是修改全局特性,保存在db.opt文件中
- 2.数据库名称可以省略,为修改当前数据库
实例
ATRER - 修改已有数据库db_school的默认字符集和校对规则
1.4 删除数据库
基本语法格式
DROP - 永久删除,但是用户权限要手动删除
实例
DROP - 删除数据库db_school
2 定义表
2.1 创建表
基本语法格式
CREATE 例子
CREATE 主要语法说明
- 1.指定表名和字段名
- 创建表之前,需要指定数据库也就是db_name.tabl_name,并且分别加引号‘db_name'.'tabl_name'是可以的。
- 2.完整性约束条件
- 实体完整性约束条件(PRIMARY KEY、UNIQUE)
- 参照完整性约束(FOREIGN KEY)
- 用户自定义约束(NOT NULL、DEFAULT、CHECK约束等)
- 3.NULL 与 NOT NULL
- 4.AUTO_INCREMENT
- 将该字段设置为自增属性可以给记录一个唯一而又容易确定的ID号。每个表只能定义一个,并且该字段得是主键约束或者候选键约束。
- 如果插入了值,那么之后的值的排序都是根据你插入的值
- 5.DEFAULT
- 值在向数据表中插入数据时,如果没有明确给出某个字段所对应的值,则DBMS此时允许为此字段指定一个值。比如DEFAULT“汉”。
- 6.存储引擎类型
- SHOWENGINES查看系统所支持的引擎类型
- InnoDB是默认,也是事务型数据库的首选引擎
2.2 查看表
1.查看表的名称
语法格式
SHOW - {FROM | IN} db_name 可以显示为当前数据库的表名称
2.查看数据表的基本结构
- 查看指定数据表的结构,包括字段名、字段的数据类型、字段值是否允许为空、是否为主键、是否有默认值等
- SHOW COLUMNS { FROM | IN } tb_name [{FROM | IN} db_name] ;
- {DESCRIBE | DESC} tb_name;
3.查看数据表的详细结构
SHOW 2.3 修改表
1.添加字段
语法格式
ALTER - FIRST将新添加的字段设置为表的第一个字段
- AFTER放在指定字段后边
- 没有值就最后边
实例
ALTER 2.修改字段
语法格式
- ALTER TABLE tb_name CHANGE [COLUMN] 原字段名 新字段名 数据类型 [约束条件];
- ALTER TABLE tb_name ALTER [COLUMN] 字段名 {SET|DROP} DEFAULT;
- ALTER TABLE tb_name MODIFY [COLUMN] 字段名 数据类型 [约束条件] [FIRST | AFTER 已有字段名]
实例1
- 将数据库db_school中表tb_student的字段birthday重命名为age,并将其数据类型更改为TINYINT,允许其为NULL,默认值为18
ALTER 实例2
- 将数据库db_school中表tb_student的字段department的默认删除
ALTER 实例3
- 将数据库db_school中表tb_student的字段department的默认值修改为“经济学院”
ALTER 实例4
- 将数据库db_school中表tb_student的字段department的数据类型更改为VARCHAR(20),取值不允许为空,并将此字段移至字段studentName之后。
ALTER 3.删除字段
语法格式
ALTER 示例
- 删除数据库db_school中表tb_student2的字段id
ALTER 2.4 重命名表
1.RENAME[TO]子句
- ALTER TABLE 原表明 RENAME [TO] 新表名;
2.RENAME TANLE
- RENAME TABLE 原表名1 TO 新表名1[, 原表名2 TO 新表名2]... ...
2.5 删除表
- DROP TABLE [IF EXISTS] 表1[,表2]... ...
3.表的数据更新
3.1 插入数据
1.1 插入完整的数据记录
INSERT 1.2 为表的指定字段插入数据
INSERT 1.3 同时插入多条数据记录
INSERT 1.4 插入查询结果
INSERT 1.5 使用REPLACE语句插入表数据
REPLACE 使用INSERT如果碰到主键或者UNIQUE约束的时候会报错,而REPLACE不但不会报错,还会把旧有的记录删除
3.2 修改数据记录
UPDATE 修改特定数据记录的时候需要通过WHERE去指定背修改的记录所需要满足的条件。
如果你想修改所有数据记录时,不需要指定WHERE子句。
WHERE里面可以嵌套查询子句
3.3 删除数据记录
DELETE 删除指定的记录的时候,用WHERE取指定需要满足的条件。
WHERE里面也可以嵌套查询子句。
如果想要删除所有的记录,那么可以不带WHERE。或者有一个更快的方法就是用TRUNCATE,其为直接删除一个表然后创建一个表。
- TRUNCATE [TABLE] tb_name
这篇博客详细介绍了MySQL数据库的创建、选择、查看、修改和删除,以及表的定义、查看、修改、重命名和删除。内容涵盖数据库的字符集设定,表的字段定义和完整性约束,如 PRIMARY KEY、NOT NULL,还讨论了数据更新,包括插入、修改和删除记录的操作。是MySQL初学者的实用参考资料。
4186

被折叠的 条评论
为什么被折叠?



