MySQL:常用的SQL语句

提醒:设定下面的语句是在数据库名为 db_book执行的。

一、创建表

1. 创建t_booktype表

USE db_book;
CREATE TABLE t_booktype(
	id INT AUTO_INCREMENT, 
	bookTypeName VARCHAR(20),
	bookTypeDesc varchar(200),
	PRIMARY KEY (id)
);

在这里插入图片描述

2. 创建t_book表

USE db_book;
CREATE TABLE t_book(
	id INT PRIMARY KEY AUTO_INCREMENT, 
	bookName VARCHAR(20) DEFAULT NULL, 
	price DECIMAL(6, 2) DEFAULT NULL, 
	bookTypeId INT, 
	constraint `fk` foreign key (`bookTypeId`) references `t_booktype`(`id`)/*添加外键*/
);

添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key (从表外键字段) references 主表(主键字段);

提醒: 大多数情况,不推荐使用外键,需要用到外键的逻辑最好放到应用层解决

外键的优点

  • 数据一致性;
  • 完整性会更可靠;
  • 提高数据质量;

外键的缺点

  • 损耗性能:当做一些涉及外键字段的增,删,更新操作之前,数据库需要检查它是否违反数据完整性,不得不消耗资源。
  • 更高层次的框架
    许多应用程序使用编程框架,在物理数据库之上创建另一个逻辑层。开发人员不使用插入或更新语句来修改数据,而使用API或者框架在后台执行相关操作。ORM(对象关系映射)框架或Ruby on Rails框架就是这种情况。这些工具负责参照完整性,并与RDBMS一起创建更高级别的数据库引擎。这些框架可以自己创建数据库表,而不总是创建外键。使用这些工具的开发人员很少会干扰自动生成的模式,并且不需要外键。
  • 跨数据库关系:
    一些数据库跨越更多的物理数据库甚至引擎,并且在技术上可能不能创建跨越数据库的它不能在同一台服务器上的两个数据库上创建key。SQL Server就是一个很好的例子 - 它不能在同一台服务器上的两个数据库上创建key。而且这种架构在大型系统中很常见。
  • 开发和维护不方便
    在创建数据库时,一般创建一些表和列是设置主键或唯一键,如果设置了外键时,后期无论开发还是维护,需要手工维护数据,都不太方便、降低了工作效率。

在这里插入图片描述

二、增加、查询、修改、删除(CRUD)

1. t_booktype表插入数据

INSERT INTO db_book.t_booktype VALUES(NULL,'Html','前端开发');/*给表的所有字段插入数据*/

在这里插入图片描述

查询t_booktype表所有数据

SELECT * FROM db_book.t_booktype;

在这里插入图片描述

2. t_book表插入数据

INSERT INTO db_book.t_book VALUES(NULL,'Html',10.00,1);/*给表的所有字段插入数据*/

在这里插入图片描述

查询t_book表所有数据

SELECT * FROM db_book.t_book;

在这里插入图片描述

注意: 因为在步骤一创建t_book表时,添加了外加,所以在给t_book插入数据时,bookTypeId字段的值 需要和 t _booktype 表id字段的值一样

其他插入数据SQL语句

INSERT INTO t_book(id,bookName,price,bookTypeId) VALUES(NULL,'Html2',10.09,6);/*给表的所有字段插入数据  注意 bookTypeId 值和t_booktype id值一样*/

INSERT INTO t_book(bookName,price,bookTypeId) VALUES('java',10.09,2);/*给表的指定字段插入数据  注意 bookTypeId 值和t_booktype id值一样*/

INSERT INTO t_book(id,bookName,price,bookTypeId) VALUES(NULL,'Html3',10.09,6),(NULL,'Html4',10.09,6),(NULL,'Html5',10.09,6);/*同时插入多条数据*/

3. 修改 t_book 表数据

UPDATE t_book SET bookName ='H5',price = 14.50 WHERE id = 7;/*更新一条数据*/

在这里插入图片描述

查询t_book表所有数据

SELECT * FROM db_book.t_book;

在这里插入图片描述
从上图可以看到id = 7的数据已经修改成功了

使用LIKE修改多条数据

UPDATE t_book SET bookName ='H4'WHERE bookName LIKE'Html';/*更新多条数据*/

4. 指定删除t_book数据

DELETE FROM t_book WHERE id = 8;/*删除一条数据*/

在这里插入图片描述

验证删除id = 8的操作执行成功
在这里插入图片描述

删除多条数据

DELETE FROM t_book WHERE bookName = 'H4';/*删除多条数据*/

三、查看表的结构

1. 查看表的基本结构:desc t_booktype;

在这里插入图片描述

2. 查看表的详细结构:show create table t_booktype;

在这里插入图片描述

四、修改表

  1. 修改表名
    ALTER TABLE 表名 RENMAE 新表名;
    修改表示例:将t_book重命名为t_book2
    SQL语句:alter table t_book rename t_book2;
  2. 修改字段
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型
    修改示例: 将user_info表uPwd字段名改为pwd名字 VARCHAR(128)类型
    SQL语句:ALTER TABLE db_book.user_info CHANGE uPwd pwd VARCHAR(128) DEFAULT NULL;
  3. 添加字段
    ALTER TABLE 表名 ADD 字段名 1 数据类型 [完整性约束条件][FIRST|AFTER 字段名2]
    修改示例:给user_info表添加pwd2字段,blob类型;
    ALTER TABLE db_book.user_info ADD pwd2 blob;
  4. 删除字段
    ALTER TABLE 表名 DROP 字段名
    修改示例:删除user_info表pwd2字段;
    ALTER TABLE db_book.user_info DROP pwd2;

提醒下面目录标题是博客链接,直接点击即可查看

五、单表查询

六、合并查询语句

七、使用聚合函数查询

八、连接查询

九、子查询

十、函数

十一、索引

十二、视图

欢迎关注我的公众号,不定期推送优质的文章,
微信扫一扫下方二维码即可关注。
在这里插入图片描述

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值