首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL探索之旅】MySQL数据增删查(初阶)

前言 前面我们学习了MySQL数据库和数据创建、删除。接下来我们就需要将数据保存在数据表中。今天我们就来学习数据增删查(CRUD)。...新增(Create) 一旦创建数据库和数据表,下一步就是向数据表中添加数据MySQL 通过 insert 语句来添加一条或多条数据。...查询(Retrieve) MySQL 通过 select 语句来查询数据,查询结果通常会生成一个临时表。...,意味着需要传输数据量越大,可能导致数据库崩溃 select * from result; 2.2 指定列查询 -- 指定列顺序不需要按定义表顺序来 select name,id from result...总分 from result; 2.5 去重 MySQL 使用 distinct关键字对某列数据进行去重: -- 数学成绩98重复了 select math from result; select distinct

11210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySql】表增删查

    character set 字符集,如果没有指定字符集,则以所在数据字符集为准 collate 校验规则,如果没有指定校验规则,则以所在数据校验规则为准 现在创建一张表user1: mysql...affected (0.03 sec) 存储引擎不同,此时我们查看user1和user2:建表时候出现不同个数 不同存储引擎对于磁盘文件个数要求是不一样 查看表desc 查看当前数据位置...xingming varchar(60) DEFAULT NULL; 向表中插入数据insert into values mysql> insert into user values (1,'张三...字段: alter table user add image_path varchar(128) comment '这个是用户头像路径' after birthday; 插入新字段后,对原来表中数据没有影响...删除列 比如删除表user中password列: alter table user drop password; 注意:删除字段一定要小心,删除字段及其对应数据都没了 删除表drop DROP

    18020

    MySQLMySQL增删查(初阶)

    MySQL增删改查(基础) 据库最主要操作就是增(create)删(update)(retrieve)查(delete)。(CURD) 注意:进行增删改查操作时候,请务必选中数据库。...创建数据库,如果手动指定字符集了,以手动指定为准,如果没有手动指定,此时就会读取MySQL配置文件(my.ini),配置文件里面也会写一个字符集。...数据库服务区是把数据保存在硬盘上mysql关系型数据库,每次进行一个sql操作,内部都会开启一个事务。每次开启事务也是有一定开销。 查询(select) select是sql中最复杂操作。...MySQL数据量是非常大,因此有可能采用是归并排序。具体到工作中,还得看数据库中实现。 注意: 如果SQL中没有显式写order by,认为查询结果顺序,是不可预期。...满足条件记录,才会取出对应列。并且计算列里面的表达式(生成别名) 并且:两边条件,都符合。逻辑与运算。 逻辑或运算。

    3.5K20

    MySQL增删查

    ,但冲突数据值和 update 值相等 1 row affected: 表中没有冲突数据数据被插入 2 row affected: 表中有冲突数据,并且数据已经被更新 此外,通过 MySQL...exam_math; 3.查询字段为表达式 在MySQL数据类型介绍中,select可以执行相应各种表达式,函数。...实际上 MySQL 不对数据操作,所以比 DELETE 更快,但是TRUNCATE在删除数据时候,并不经过真正事物,所以无法回滚。...将上述SQL保存到文件中,然后在MySQL中使用source命令依次执行文件中SQL。如下: 执行完文件中SQL后查看数据库,就能看到多了一个名为scott数据库。...,都是对表进行各种增删查,尤其对于查找,表与表之间因外键联系等。

    27220

    MySQL】表增删查(进阶)

    注意: 实际开发中,大部分表,一般都会带有一个主键,主键往往是一个整数表示id 在mysql中,一个表里,只能有一个主键,不能有多个 虽然主键不能有多个,mysql允许把多个列放到一起共同作为一个主键...(联合主键) 主键另外一个非常常用方法,就是使用mysql自带“自增主键”作为主键值。...mysql数据量比较小,所有的数据都在一个mysql服务器上,自增主键是可以很好地工作,如果mysql数据量很大,一台主机放不下就需要进行分库分表,使用多个主机来进行存储。...在这个场景下,如果再新插入一个数据,这个数据就会落在三个服务器之一,那么新这个数据主键id,如果分配?能否继续用mysql自带自增主键???...针对这种关系: student(id,name); class(class,name,studentIds); 注意:这种在MySQL中不可行,因为MySQL中没有一个像数组这样类型。

    3.1K20

    MySQL增删查(二)

    FOREIGN KEY - 保证一个表中数据匹配另一个表中参照完整性。 CHECK - 保证列中值符合指定条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。...三大范式: 第一范式(1NF): 第一范式是指数据库表每一列都是不可分割基本数据项,同一列中不能有多个值,即实体中某个属性不能有多个值,或不能有重复属性。...SUM([DISTINCT] expr) 返回查询到数据总和,不是数字没有意义 AVG([DISTINCT] expr) 返回查询到数据平均值,不是数字没有意义 MAX([DISTINCT]...expr) 返回查询到数据最大值,不是数字没有意义 MIN([DISTINCT] expr) 返回查询到数据最小值,不是数字没有意义 用例: -- 统计平均总分 SELECT AVG(chinese...联合查询 实际开发中往往数据来自不同表,所以需要多表联合查询。多表查询是对多张表数据取笛卡尔积: ?

    2.5K10

    MYSQL 基本操作-管理数据数据【之增,删,

    文章目录 前言 MYSQL基本操作-表相关操作04 修改数据表 修改表名 修改字段排列顺序 修改字段数据类型 修改字段名字 添加字段 删除字段 删除数据MYSQL基本操作-管理数据数据05...插入记录 修改表中全部数据 删除记录 删除表中全部数据 结语 ---- 前言 内容: MYSQL基本操作-表相关操作04 MYSQL 基本操作-管理数据数据【之增,删,】05 MYSQL基本操作...alter table customers5 change csex csexs int(4); 知识点 change不仅可以字段名,也可以字段数据类型 添加字段 语法格式 ALTER TABLE...可以看到跟删除库差不多 实际栗子 # 删除表如果存在 drop table if exists customers; MYSQL基本操作-管理数据数据05 插入记录 insert 属于DML语句(数据操纵语句...,值就要有多少个,且顺序要对应,否则会报错 为表所有字段插入数据 使用基本 insert语句插入数据要求指定表名称和插入到新记录中值。

    83910

    Python中如何把redis取出数据去掉b

    这个问题是最近在写爬虫时候遇到,本次使用了redis对爬取数据进行存储,便于对数据进行二次清洗。存入过程是非常顺利。...但是在二次数据清洗时,在redis中取数据却出现了问题,取出logo链接含有b',第一次直接运行了,结果出现了问题。进行了步骤性地排查,发现在链接上出现了问题,下面来详细看一下。 ?...host='localhost', port=6379, db=0,decode_responses=True) 原因 Python3与redis交互驱动上存在问题,如果使用python2则不会出现这样问题...同样在python3打印数据中b'开头代表是bytes类型数据。这个问题一定要牢记,避免在程序进行判断时出现问题而花费较多时间去排查。

    2.7K20

    MySQL 数据库 增删查、克隆、外键 等操作

    扩展功能,字段值自增等 数据表高级操作 克隆表,将数据数据记录生成到新表中 删除记录后主键记录重头开始自增 创建临时表 创建外键约束,保证数据完整性和一致性 MySQL 六种约束 ----...数据库中有数据表,数据表中有一条一条记录。...255 个字符,char 如果存入数据实际长度比指定长度要小,会补空格至指定长度;如果存入数据实际长度大于指定长度,低版本 Mysql 会被截取前 255个 字符,高版本会报错。...查看数据库信息语句 首先登陆MySQL,也可以用SQL工具如 Navicat 远程连接,前提是要在Linux Mysql 中用 grant 进行授权,允许远程登录。...Linux 中登录Mysql mysql -u root -p密码 1.查看当前服务器中数据库 SHOW DATABASES; 2.查看数据库中包含表 USE 数据库名 #注意:数据库名区分大小写

    5.8K20

    数据结构|栈实现

    栈满足特性是先进后出,就像货车装货物,把货物一次放进去,但是卸货时候,你得先把最外面的卸载了,才能继续卸载里层货物。 栈实现有两种形式,一种是数组,一种是链表。 ?...pop:把栈顶部数据移除。 链表栈 链表栈实际上可以看成链表一种约束,约束了链表长度,链表插入和删除位置。 对于链表栈,需要两个变量 top:记录当前栈顶地址和位置。...链表:记录当前数据和下一个,上一个链表块地址。top永远指向了链表栈最后一个元素,记录其位置。链表栈和链表结构本质相同。 数组栈(顺序栈) 对数组进行约束,成为栈。...数组栈长度一定,使用top记录当前位置,比如说,array长度为10,但是我们指存储了5个数据,那么top值就是4。往栈里面加入一个数据,top变成5,当已经10个数据时,top为9。...之后继续加入数据,报错,加入失败。 删除数据时,top减少,当top为0时,继续删除,报错,删除失败。

    32020

    MySql 查看Query Cache状态

    query cache 是mysql性能优化时重要指标,通过查看query cache状态信息,就可以知道例如 缓存是否有碎片、命中缓存数量、没用到缓存次数 …… 使用方法 mysql>show...缓存中空闲内存 Qcache_hits 多少次命中,通过这个参数可以查看到querycache基本效果 Qcache_inserts 多少次未命中然后插入,通过“Qcache_hits”...相互结合,能够更清楚地了解到系统中query cache内存大小是否足够,是否非常频繁地出现因为内存不足而有query被换出情况 Qcache_not_cached 不适合进行缓存查询数量,...例如一些查询使用了now()之类函数 Qcache_queries_in_cache 当前Query Cache 中cache Query 数量 Qcache_total_blocks 当前...Query Cache 中block 数量

    2.3K70

    Mysql账户管理(账户添加,授权,密,删除)

    Mysql账户管理入门 可以这样讲,能否对数据账户进行基本管理,区分"小白"和"老鸟"一个衡量标准....Mysql数据库管理系统中,root用户拥有最高权限(与Linux类似),但不能让每一名开发者都拥有这么高权限,所以要对不同级别的使用者进行相应授权....Mysql用户权限信息都存储在数据mysqluser表中; 坦率讲…普通程序员,根本用不到这方面的知识 查看已有的数据库账户 1.登录数据mysql -uroot -p 2.进入mysql...打开终端,输入mysqladmin -uMike -pmike321 回车 输入旧密码 新密码"mike321"生效 root用户修改下属用户密码(需要root用户登录): root密码本质是修改...mysql数据库中user表中字段authentication_string中值 密文 密码密文由mysql内置函数password产生,password函数可接收"明文密码"字符串,产生"密文字符串

    2.6K100

    MySQL一行数据,锁这么多吗?

    导读 这篇文章我想来聊聊 MySQL 锁是怎么加上,为啥想聊这个呢?主要是因为业务中我们或多或少都会使用到锁,毕竟锁是保障我们数据安全性关键法宝。...01 啥时候加 1.1 显示锁 MySQL 加锁可以分为显示加锁和隐式加锁,显示加锁我们比较好识别的,因为他往往直接体现在 SQL 中,常见显示加锁语句主要有: ▶︎ select ... for...加了排他锁之后,后续对该范围数据写和读操作都将被阻塞,另外一个共享锁不会阻塞读取,而是阻塞写入,但是这往往会带来一些问题,比如电商场景下更新库存时候,我们为了保障数据一致性更新往往需要先将该商品数据锁住...id,这样当一个事务执行时候,很容易能知道自己能看见什么数据,不能看见什么数据,这时候读取数据自然也就不会受到锁影响能够正常地读取啦。...,由于是 for update 加锁,认为还回去主表上更新,因此主表相关记录也都被上了锁,这就会导致加锁期间处于锁表状态,任何更新操作都没办法成功,这在线上会是非常危险操作,可能会导致 db 被打垮

    18310
    领券