MySQL笔记【基础篇】

本文是关于MySQL的基础笔记,涵盖了创建表、删除表、修改表结构、插入数据、更新和删除数据、约束、存储引擎、事务、索引和视图等核心知识点。详细介绍了各种操作的语法和示例,包括非空约束、主键约束、外键约束,以及不同隔离级别的事务处理。此外,还探讨了索引的创建、删除和使用场景,以及视图的创建和CRUD操作对原表数据的影响。
摘要由CSDN通过智能技术生成
  • char 适用于数长度不会发生改变的时候,是定长的,例如:性别,生日

  • varchar 当一个字段数据长度不确定,例如:简介、姓名、等都是采用varchar

char是直接开辟一定长度的空间,varchar是根据存储数据的长度动态的开辟空间!

测试案例

#创建表

CREATE TABLE user(

id INT(10),

username VARCHAR(30),

PASSWORD VARCHAR(30) #最后一行不需要,

);

[](()2.删除表:

drop table 表名;(通用)

drop table 表名 if exists 表名; //Oracle不支持这种写法。

使用drop删除表,就像是我们把表中的数据擦干净,但是表的结构还在,可以通过rollback回滚过来数据!

我们如果需要删除大表的话,就需要truncate 来删除,会清空所有数据且执行速度很快,并且永久删除,数据不可恢复!

truncate table name

删除表常用:

drop table if exist 表名(如果存在某个表删除该表)。

[](()3.修改表结构:

用工具:哈哈!设计表选项

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jgk2FJyv-1639059716027)(MySQL笔记.assets/image-20211207194615486.png)]

(因为在实际开发中表设计好以后,对表结构进行修改是很少的。并且修改表中结构的语句并不会写在java语句当中。)

[](()4.insert:表中插入数据

语法:insert into 表名(字段1,字段2,字段3…)values(value1 , value2 , value3) ;

INSERT INTO dept(deptno,dname,loc)VALUES(50,‘Java开发’,‘ZHENGZHOU’);

需要注意的地方:当一条insert语句执行成功之后,表格必然会多一行记录,及时多的一行记录当中某些字段为null,后期也没办法再通过insert插入数据了,只能通过update更新 !

**一次插入多行数据:**insert into 表名(字段1,字段2,字段3)values(value1,value2,value3),(value1,value2,value3)

INSERT INTO dept(deptno,dname,loc)VALUES(70,‘大数据开发’,‘ZHENGZHOU’),(60,‘运维部’,‘KAIFENG’);

[](()5.表的复制

了解一下即可!

CREATE TABLE mytable AS SELECT * FROM dept #将将查询结果当作表创建出来。

将查询出来的结果插入道一张表中

INSERT INTO mytable SELECT * FROM dept

[](()6.update:修改表中数据

语法格式:update 表名 set 字段名1 = 值1 ,字段名2 = 值2 …where 条件 ;

注意:没有条件整张表的数据全部更新 ;

UPDATE dept SET dname = ‘测试开发’ ,loc = ‘HUEL’ WHERE DEPTNO = 10 ; #就1个set!

[](()7.delete删除表中数据;

语法格式:delete from 表名 where 条件 ;

注意:没有条件表中数据全部清空!

DELETE FROM dept WHERE deptno = 70 #删除部门号为70的数据

DELETE FROM dept #清空表中数据

[](()8.增删改查有一个术语:CRUD操作
  • Create(增加)

  • Retrieve(查询)

  • Update(修改)

  • Delete(删除)

[](()四.约束


创建表的时候可以给字段添加相应的约束,约束的目的:保证表中数据的合法性,唯一性,有效性。

  1. 非空约束(not null):约束字段不能为NULL

  2. 唯一约束(unique):约束字段不能重复

  3. 主键约束(primary key):约束字段既不能为NULL也不能重复

  4. 外键约束(foreign key):阿里巴巴手册,已经禁止使用外键了

  5. 检查f约束(check):Oracle数据库有check约束,但是Mysql没有。

注意:我们主要还是记住英文,平时使用的都是英文!

[](()1.非空约束 not null

CREATE TABLE mytable(

id INT(10),

username VARCHAR(30) NOT NULL, #添加非空约束

PASSWORD VARCHAR(30)

);

测试

insert into mytable(id,password) values(1,‘123’) ; #由于我们的的用户字段要求非空,所以会执行失败

ERROR 1364(HY000) : Filed ‘username’ doesn’t have a default value

[](()2.唯一约束(unique)

列级约束

表级约束

测试

-

[](()3.主键约束(primary key) *

必须记住:一张表的主键约束只有一个 ;最好与别的字段不相关,仅仅代表唯一标识 !

CREAT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值