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

推荐学Java——数据表操作

创建表设置了默认值除外) 插入日期 mySQL日期格式: %Y年 %m 月 %d 日 %h 时 %m 分 %s 秒 str_to_date('日期字符串','日期格式') 比如数据表员工入职日期字段...values(103,'lunzima',1,18),(104,'houyi',0,20),(105,'hanbin',1,22); 批量插入效率高于单条插入,但是批量插入其中一条如果出错,可能引起插入其他条数据错误...insert into 表名(要插入1,2...) values(对应列值...); 2,查询表记录 select * from 表名; 查看表中指定数据 select 列名1,列名2...by 将表值相同记录放在一起,称为一组。...4,更新表记录 更新记录 update 表名 set 要更新列名1=值1,要更新列名2=值2 where 条件; 比如这样: update student set sname

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

数据库基础知识一(MySQL

,若其中某一个属性(组)能唯一表示一条记录,该属性(组)就可以成为一个主键。...,它是一个特殊约束条件,主要用于为表插入记录自动生成唯一序列编码。...表记录插入 1)利用insert命令向表student插入一行数据 2)利用insert命令向表student插入多行数据 利用replace命令向表course插入多行数据...replace向表插入数据时,首先尝试插入数据到列表;若发现表已有此行数据(根据主键或唯一索引判断),则先删除此行数据再插入数据,否则直接插入数据。...使用set子句插入数据 可以不按顺序插入数据,对允许空值可以不插入 利用set子句向se_course表插入数据。

1.6K20

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

目录 检索 过滤检索结果 数据汇总处理 分组 给检索结果排序 表操作 插入数据 更新删除数据 子查询-迭代查询 联结-关联多个表 组合查询 视图 其它 检索 检索单个: SELECT 列名...FROM 表名; 检索多个: SELECT 列名,列名,列名 FROM 表名; 检索表中所有:(尽量不用) SELECT * FROM 表名; 只检索里不重复项: SELECT...约束: 每个可以有一种或几种约束。 NOT NULL 非空约束. UNIQUE 唯一约束,可唯一标识数据库表每条记录。...CHECK 检查约束,用于限制范围。 DEFAULT 默认约束,用于向插入默认值 每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。...FULL OUTER JOIN 会把两张表没有匹配到也显示出来(mysql 不支持,可通过 UNION 实现) OUTER 可省略。

2.2K20

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

SQL 目录 检索 过滤检索结果 数据汇总处理 分组 给检索结果排序 表操作 插入数据 更新删除数据 子查询-迭代查询 联结-关联多个表 组合查询 视图 其它 检索 检索单个: SELECT 列名...FROM 表名; 检索多个: SELECT 列名,列名,列名 FROM 表名; 检索表中所有:(尽量不用) SELECT * FROM 表名; 只检索里不重复项: SELECT...DISTINCT 列名 (如果有两或以上,需要这些组合起来是不重复) FROM 表名; 检索指定行数: SELECT 列名 FROM 表名 LIMIT 5 OFFSET n; (MySQL,选第...约束:每个可以有一种或几种约束。 NOT NULL 非空约束. UNIQUE 唯一约束,可唯一标识数据库表每条记录。...FULL OUTER JOIN 会把两张表没有匹配到也显示出来(mysql 不支持,可通过 UNION 实现) OUTER 可省略。

1.5K10

MySQL DML 数据操作

1.插入记录 INSERT 使用 INSERT INTO 语句可以向数据表插入数据。 INSERT INTO 有三种形式: INSERT INTO tbl_name SELECT......相同,不同的话,则需要指定需要插入 INSERT INTO tbl_name1(col0,col1,col2) SELECT col0,col1,col2 FROM tbl_name2; # 使用...如果发现表已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入数据,否则直接插入数据。 REPLACE INTO tbl_name(col_name, ...)...频繁 REPLACE INTO 会造成新纪录主键值迅速增大。总有一天。达到最大值后就会因为数据太大溢出了。就没法再插入新纪录了。数据表满了,不是因为空间不够了,而是因为主键值没法再增加了。...使用一条简单命令便可将整个数据库输出到单个文本文件。 该工具用途广泛,足以备份所需数据库部分,并提供多种选项来更改需要保存数据。 (1)导出数据库所有数据表。

16810

MySQL从删库到跑路_高级(一)——数据完整性

D、自定义完整性:用户自己定义业务规则,比如使用触发器实现自定义业务规则。 ? 2、数据完整性实现方式 ? MySQL不支持Check约束,虽然可以在列上添加check约束,但不起作用。...B、唯一值约束:一张表可以有多个添加唯一值约束,一直允许一条记录为空值。 实体完整性,由主键和唯一性约束来实现,确保表记录有一唯一标识。...MyISAM类型存储引擎不会在主键列上创建索引,表记录存储顺序与插入顺序相同。 ? InnoDB存储引擎会自动在主键列上创建索引,插入记录会根据主键顺序排放。...1作为记录主键,主键值默认从1开始。...alter table score drop index uc_sname; 三、域完整性 1、默认值 在表插入一条记录时,如果没有为该字段赋值,那么数据库系统会自动为该字段赋一条默认值。

1.9K20

每日一面 - mysql 自增 id 实现逻辑是什么样子

通过每次更新写入 Redo Log,并在检查点刷入 innodb 引擎表记录下来。...MySQL 读取磁盘上数据是一页一页读取,如果条我们要处理数据在某一页,但是这一页其他数据我们都不关心,这样请求多了,性能会急剧下降,类似于 CPU false sharing: ?...AutoIncrement 最大值 AutoIncrement 最大值,和类型相关。最大可以设置类型为 UNSIGNED BIGINT,这样最大值就是 18446744073709551615。...SELECT和LOAD DATA)才会采用AUTO-INC锁这种方式,而针对已知数量普通插入,则采用了一种轻量级互斥锁来分配auto_increment值。...通过每次更新写入 Redo Log,并在检查点刷入 innodb 引擎表记录下来。 所以,在MySQL 8.0 之前,如果 rollback 导致某些值没有使用,重启后,这些值还是会使用

56020

MySQL中都有哪些锁?

表级锁 在MySQL,表级别的锁大概有四种,每种使用场景都不一样。 表锁 表锁(Table Lock),也就是对张表加锁。...意向排他锁(IX Lock):当事务想要获取一张表几行行级排他锁(X锁)时,MySQL会先自动获取该表意向排他锁。 首先,我们要理解MySQL行锁和表锁为什么不能共存,怎样才能共存?...自增锁 我们在创建表时,ID这一通常会声明 AUTO_INCREMENT属性,表示该是自动递增。之后我们在进行插入时,可以不用指定ID值,MySQL会自动且递增给该赋值。...举例来说,假设在重启之前,将这个表自增列为25最大一条记录删除了,当我们进行插入时,自增值并不会回退到25,而是使用26。...在上图中,有些人可能会注意到,id首尾是两个没有值,这其实这是InnoDB存储引擎在数据页插入两条伪记录: Infimum记录:表示该页中最小记录 Supremum记录:表示该页中最大记录

85651

MySQL基础 — 常用命令

(Insert) insert into 语句用于向表格插入行: /*第一种形式无需指定要插入数据列名,只需提供被插入值即可:*/ mysql> insert into tb_name...指定标题时,可在列名之后使用AS子句;也可使用:别名=形式指定标题。...限制查询结果返回行数 使用top选项可限制查询结果返回行数,即返回指定个数记录数。...3.使用列举: 使用in关键字可以指定一个值集合,集合列出所有可能值,当表达式值与集合任一元素个匹配时,即返回true,否则返回false。...格式:update tb_name set 列名称 = 值 where 列名称 = 值; 5、删除数据(Delete) 删除单行 格式:delete from tb_name

1.3K10

MySQL 数据库表分区.

MySQL 数据库支持分库类型为水平分区(指将同一表不同行记录分配到不同物理文件),并不支持垂直分区(指将同一表不同记录分配到不同物理文件)。...MySQL 数据库分区是局部分区索引,一个分区既存放了数据又存放了索引。而全局分区是指,数据存放在各个分区,但是所有数据索引放在一个对象MySQL 数据库目前不支持全局分区。...1 如果表存在主键/唯一索引时,分区必须是主键/唯一索引一个组成部分。...LINEAR HASH 分区:线性 HASH 分区,使用一个线性2幂(powers-of-two)算法来确定插入到分区什么位置。...用户查询依据时间为维度,如果按照时间戳进行分区,则只需要扫描对应分区即可。 对于 OLTP(在线事务处理)应用,通常不可能会获取一张大表 10% 数据,大部分都是通过索引返回几条记录即可。

9.1K20

mysql触发器作用及语法 转

比如,可以在books.author_code 列上生成一个插入触发器,假设值与auths.author_code值不匹配时,插入被回退。 5.同步实时地复制表数据。...在DELETE触发程序,仅能使用 OLD.col_name,没有行。...在UPDATE触发程序,能够使用OLD.col_name来引用更新前某一 行,也能使用NEW.col_name来引用更新后。 用OLD命名是仅仅读。...这意味着,你能够使用触发程序来更改将要插入值, 或用于更新行值。...在BEFORE触发程序,AUTO_INCREMENTNEW值为0,不是实际插入记录时将自己主动生 成序列号。 通过使用BEGIN ... END结构,可以定义运行多条语句触发程序。

2K30

mysql触发器作用及语法 转

比如,可以在books.author_code 列上生成一个插入触发器,假设值与auths.author_code值不匹配时,插入被回退。 5.同步实时地复制表数据。...在DELETE触发程序,仅能使用 OLD.col_name,没有行。...在UPDATE触发程序,能够使用OLD.col_name来引用更新前某一 行,也能使用NEW.col_name来引用更新后。 用OLD命名是仅仅读。...这意味着,你能够使用触发程序来更改将要插入值, 或用于更新行值。...在BEFORE触发程序,AUTO_INCREMENTNEW值为0,不是实际插入记录时将自己主动生 成序列号。 通过使用BEGIN ... END结构,可以定义运行多条语句触发程序。

3.4K10

mysql触发器作用及语法

比如,可以在books.author_code 列上生成一个插入触发器,假设值与auths.author_code值不匹配时,插入被回退。 5.同步实时地复制表数据。...在DELETE触发程序,仅能使用 OLD.col_name,没有行。...在UPDATE触发程序,能够使用OLD.col_name来引用更新前某一 行,也能使用NEW.col_name来引用更新后。 用OLD命名是仅仅读。...这意味着,你能够使用触发程序来更改将要插入值, 或用于更新行值。...在BEFORE触发程序,AUTO_INCREMENTNEW值为0,不是实际插入记录时将自己主动生 成序列号。 通过使用BEGIN … END结构,可以定义运行多条语句触发程序。

1.6K10

Django model 层之Models与Mysql数据库小结

删除被参照表条表记录,同时级联删除参照表待删除记录存在外键关联关系记录。 PROTECT 删除被参照表条表记录,如果参照表,存在与该记录有外键关系记录,则不让删除。...SET_NULL 删除被参照表条表记录,设置参照表待删除记录存在外键关联记录外键值为null。当且仅当设置了null=True选项时可用。...SET_DEFAULT 删除被参照表条表记录,设置参照表待删除记录存在外键关联记录外键值为默认值。必须为外键设置默认值。...SET() 删除被参照表条表记录,设置参照表待删除记录存在外键关联关系记录外键值为传递给SET()参数值,如果传递给SET()参数值是可调用对象,则设置为调用可调用对象获取结果。...,不对参照表待删除记录存在外键关联记录做任何处理。

2.2K20

Mysql 基本操作

MySQL 关系型数据库—>存储数据仓库 本质是文件系统 优点:文件系统, 存储数据 , 查询快 IO 2.数据库创建 数据库是mysql系统管理和存储数据仓库 1)显示所有数据库...table 表名 drop 列名 4)change(修改列名) alter table t_name change 旧列名 列名 属性 7.表基本操作 1)插入...* FROM 表名称 8.查找总结: 1)去掉重复记录: select distinct 字段 from 表名; 2)使用别名: 使用as 别名可以给表字段...NULL记录行数; sum:计算指定数值和,如果指定类型不是数值类型,那么计算结果为0; max:计算指定最大值,如果指定是字符串类型,那么使用字符串排序运算;...min:计算指定最小值,如果指定是字符串类型,那么使用字符串排序运算; avg:计算指定平均值,如果指定类型不是数值类型,那么计算结果为0; 9)分组操作:

90330

数据库初识--从MySQL 出发

数据库分门别类,多种多样,目前我选择了 MySQL 。   看了 MySQL,觉得数据库处理也不是很难,主要就是一些对数据处理,MySQL 主要就是一些命令运用。  ...(2)关系数据库            关系是一个带有属性表,这个表称为关系表,一组表组成一 数据库。            表由行和组成,其行称为元组,称为属性。           ...属性取值范围称为域,行称为记录。    ...为表插入值 :insert into book values(1 book1 10,2 book2 30);            查看特定表(book)信息 : describe book;             ...如 select * from book where name like('_k%');           联合多(concat) :就是把某些元素联合在一起:作为一个”?

1.3K20

数据库SQL语句大全——最常用SQL语句

指示mysql返回从行5开始5行记录 排序检索数据: 排序数据 SELECT pname FROM product ORDER BY pname 按多个排序数据 SELECT pid,market_price...它表示匹配任意一个字符 Mysql正则表达式不区分大小写,如果要区分大小写可以使用BINARY SELECT pname FROM product WHERE pname REGEXP BINARY...RAND() 返回一个随机数 SIN() 返回一个角度正弦 SQRT() 返回一个数平方根 TAN() 返回一个角度正切 汇总数据 聚集函数 AVG() 返回平均值 COUNT() 返回行数...MAX() 返回最大值 MIN() 返回最小值 SUM() 返回值之和 SELECT AVG(market_price) FROM product SELECT MAX(market_price...SELECT语句执行顺序 SELECT 要返回或表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP BY 分组说明 仅在按组计算聚集时使用 HAVING

2.9K30
领券