依照表结构创建student表设置sno为主键_7.MySQL库表的创建与修改
![](http://p02.5ceimg.com/content/6a891e26-4713-eb11-8da9-e4434bdf6706.png)
自己的MySQL阅读笔记,持续更新,直到看书结束。
数据库技术可以有效帮助一个组织或者企业科学、有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一。
大家如果看过MySQL的书,也可以看我的知识导图做一个复习,因为是自己的读书笔记,所以有的地方也不是很详尽,但是十分欢迎私下交流共同进步。
SQL整理的目录
今天有觉悟:专栏索引——个人的数据分析学习(持续更新)zhuanlan.zhihu.com
![](http://p03.5ceimg.com/content/73891e26-4713-eb11-8da9-e4434bdf6706.png)
目录
- 定义数据库
- 创建数据库
- 选择与查看数据库
- 修改数据库
- 删除数据库
- 定义表
- 创建表
- 查看表
- 修改表
- 添加字段
- 修改字段
- 删除字段
- 重命名表
- 删除表
- 表的数据更新
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
依照表结构创建student表设置sno为主键_7.MySQL库表的创建与修改相关推荐
- mysql数据库结构导出word_Windows导出MySQL数据库表结构到Word文档-DBExportDoc V1.0 For MySQL...
必要条件: 1.Microsoft Office Word(我用WPS不行) 2.mysql-connector-odbc 3.会看文档 下载地址:关注微信公众号:八四七,回复5获取,压缩包中包含有具 ...
- 阿里 mysql建表规范_阿里的Mysql规范 MySQL库表设计规范
阿里的Mysql规范 MySQL库表设计规范 表设计 1) 表必须定义主键,默认为ID,整型自增,如果不采用默认设计必须咨询DBA进行设计评估 2) ID字段作为自增主键,禁止在非事务内 ...
- MySQL - 库表设计之IP和TIMESTAMP的处理
文章目录 学习更多干货 Pre TIMESTAMP IP 总结 学习更多干货 带你搞定MySQL实战,轻松对应海量业务处理及高并发需求,从容应对大场面试 Pre MySQL - 高效的设计MySQL库 ...
- gcc操作mysql 建表_用gcc批量建mysql库表
用gcc批量建mysql库表 2007-6-1文字大小:大中小 file 1 my.c //------------------------------------------------------ ...
- 依照表结构创建student表设置sno为主键_探索SQL-数据库的安装与表格创建
因现在在从事互联网运营工作中有涉及到处理数据这一方面,感觉对数据分析这一块工作还是挺感兴趣的,因此想要往这一领域深入发展,转行到数据分析.而SQL是数据分析师的必备技能之一,作为从未接触过SQL的一枚 ...
- 查看表结构索引_索引策略–第1部分–选择正确的表结构
查看表结构索引 介绍 (Introduction) Among many different things that can affect SQL Server performance, some a ...
- mysql库表的触发器表名_MySQL 触发器,实现不同数据库,不同表名,表结构不同,数据实时同步...
创建触发器: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt ...
- MySQL - 高效的设计MySQL库表
文章目录 生猛干货 范式与反范式 范式 第一范式 第二范式 第三范式 第二范式 VS 第三范式 设计符合 2NF 的表 范式优缺点 反范式 范式 VS 反范式 MySQL 使用原则和设计规范 基本设置 ...
- mysql库表散列_数据库表--hash clustered table
Hash clustered table与索引聚簇表非常相似,只有一个主要区别:聚簇键索引被一个hash函数所取代,表中的数据就是索引.所以没有物理索引 hash clustered table也有副 ...
最新文章
- Java 内存泄漏监控检测与分析
- Java开发主流框架是什么?
- Pandas数据排序,人人都能学会的几种方法
- Java中IO和NIO的本质和区别
- TensorFlow:实战Google深度学习框架(四)MNIST数据集识别问题
- 提升代码可读性的 10 个技巧
- 我们分析了成千上万的编程访谈。 这就是我们学到的东西。
- python微信聊天机器人源码_8.【代码】微信聊天机器人(API的应用) - Python网络爬虫实战...
- 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码
- 【华为云技术分享】大数据容器化成趋势,华为云BigData Pro一马当先
- python获取指定字符串中重复模式最高的字符串
- 高通QXDM工具使用
- Flash cs4新增内容:三维效果
- 致爱丽丝 之MY收藏
- mv单位是什么意思_ayawawa经常说的pu MV是什么意思 怎么mv是什么意思算
- scanf函数解析,附带rewind函数(清空缓存)
- java查询图片前台展示_Java +spring MVC 后台图片流在前台页面显示
- Linux学习笔记2:文件管理
- 巴比特 | 元宇宙每日必读:未成年人打赏后要求退款,虚拟主播称自己是大冤种,怎么看待这个监管漏洞?...
- 看看女程序媛们的自述
热门文章
- 龙白滔:一个实用的中国央行数字货币和Libra设计方案
- 27、scratch教程-画心形
- 在js中让一个text输入框的默认日期是今天
- PYTHON的原地操作
- Outlook 2019 for mac(outlook邮箱)
- 关于ENSP上路由设备40错误,创建的虚拟网卡为VirtualBox Host-Only Network #2
- [转]一个老人去世的全过程,看了想哭
- 医疗界“最强大脑”落户杭州!阿里巴巴联合浙大一院共同打造
- mysql iops qps_Mysql 之 IOPS、QPS、TPS相关问题总结
- #HT4928#SM5401 SOP-8移动电源SOC同口充放电 0.8A线性充电+0.8A开关放电 引脚完全兼容HT4928 功能替代TP4333