MySQL笔记之修改数据的解决方法

数据库通过插入、更新和删除等方式来该表表中的记录,其中

insert语句实现插入数据

update语句实现更新数据

delete语句实现删除数据

参考表

插入数据不指定字段名插入

不指定字段名插入


代码如下:

mysql> insert into person values(1,'张三','男',1988);
Query OK, 1 row affected, 1 warning (0.03 sec)

nsert into后面是表名,values后面是需要插入的数据

values中的数据必须与字段名相匹配,如第一字段为空值则输入null,尾部可不输入

需要注意的是,字符串数据必须用引号包裹

指定字段名插入


代码如下:

mysql> insert into person(id,name,sex,birth) values(6,'王芳','女',1992);
Query OK, 1 row affected, 1 warning (0.05 sec)

insert into 后面接表名和字段,此处的字段可调整位置

但一个必要条件是后面的values值必须与其字段对应

同时插入多条数据


代码如下:

mysql> insert into person(id,name) values(8,'钱名'),(9,'章硕');
Query OK, 2 rows affected (0.04 sec)
Records: 2  Duplicates: 0  Warnings: 0

values后面用多个括号插入数据,逗号隔开即可

至于插入的字段只需结合上面讲的两个例子使用

将查询结果插入到表中


代码如下:

mysql> insert into person2(id,name,sex,birth) select * from person;
Query OK, 9 rows affected, 6 warnings (0.03 sec)
Records: 9  Duplicates: 0  Warnings: 6

这里要注意,插入的字段和表中的字段个数和数据类型必须一致,否则就会报错

复制一张表


代码如下:

mysql> CREATE TABLE per AS SELECT * FROM person;
Query OK, 1 row affected (0.16 sec)
Records: 1  Duplicates: 0  Warnings: 0

update+表名代表要更新的表,set后面设置需要更新的内容

where用作限制更新条件,后面接表达式,只要表达式为真便满足条件

Tips:where 1也能代表真,即全部满足

多字段更新


代码如下:

mysql> update person set name='小红',sex='女' where id=3;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

多字段更新只需要在set后面添加多个要修改的字段和数据即可,用逗号隔开

如果想更新所有记录则无需加where

tips:使用update要特别小心,因为有可能多条记录满足where条件

     最好是先查看一边表,确定要更新的记录

删除字段
删除指定记录


代码如下:

mysql> delete from person where id=9;
Query OK, 1 row affected (0.02 sec)

删除记录也需要跟上where限定

tips:除非你非常确定where子句只会删除你想要删除的行

   否则都应该用select来确认情况

删除所有记录


代码如下:

mysql> delete from person;
Query OK, 8 rows affected (0.03 sec)

在不跟where限定条件的情况下即可逐条删除所有记录

此外还有truncate table语句,它会删除原来的表,再重新建立,效率更高

tips:这里删除不会要任何提示,说删就删了,快的很

     所以使用的时候要格外小心,最好先把数据备份

(0)

相关推荐

  • MySQL笔记之数据备份与还原的使用详解

    数据很重要,这点用脚趾头想都知道,为了保证数据的安全,因此需要定期对数据备份 下面来写一点关于数据备份与还原相关的笔记 数据备份 使用mysqldump命令备份一个数据库 mysqldump -u username -p dbname table1 table2...>BackupName.sql 其中,dbname表示数据库名称,table1和table2表示表的名称,没有该参数则备份整个数据库 BackupName.sql参数表示备份文件的名称,文件名前面可以加上一个绝对路径 需要注意的是,

  • MySQL笔记之字符串函数的应用

    字符串操作在程序设计中是非常重要的组成部分,而MySQL数据库中的字符串操作却相当简单 需要注意的是:下面所有的函数只是将修改后的结果当查询返回,均不对原数据做出改变 选出指定数量字符 复制代码 代码如下: mysql> SELECT RIGHT('nihao',3);+------------------+| RIGHT('nihao',3) |+------------------+| hao              |+------------------+ row in set (0.

  • MySQL笔记之系统信息函数详解

    系统信息函数用来查询mysql数据库的系统信息 VERSION()返回数据库版本号 复制代码 代码如下: mysql> SELECT VERSION();+-------------------------+| VERSION()               |+-------------------------+| 5.5.28-0ubuntu0.12.10.2 |+-------------------------+ row in set (0.00 sec) 我这里用的是基于ubuntu发

  • MySQL笔记之函数查询的使用

    参考表 count()用来统计记录的条数 复制代码 代码如下: mysql> select count(*) from score;mysql> select count(*) from score where stu_id=901; sum()求和函数 复制代码 代码如下: mysql> select sum(grade) from score;mysql> select id,sum(grade) from score where stu_id=901; avg()求平均值函数

  • MySQL笔记之视图的使用详解

    什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据. 数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中. 使用视图查询数据时,数据库系统会从原来的表中取出对应的数据. 视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变. 视图的作用 1.使操作简单化,可以对经常使用的查询定义一个视图,使用户

  • MySQL笔记之触发器的应用

    创建触发器 创建只有一个执行语句的触发器 复制代码 代码如下: CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件ON 表名 FOR EACH ROW 执行语句 其中,触发器名参数指要创建的触发器的名字 BEFORE和AFTER参数指定了触发执行的时间,在事件之前或是之后 FOR EACH ROW表示任何一条记录上的操作满足触发事件都会触发该触发器 复制代码 代码如下: mysql> CREATE TRIGGER trig1 AFTER INSERT    -> ON

  • MySQL笔记之子查询使用介绍

    子查询是将一个查询语句嵌套在另一个查询语句中 内层查询语句的查询结果,可以为外层查询语句提供查询条件 因为在特定情况下,一个查询语句的条件需要另一个查询语句来获取 参考表:employee 参考表:department 带IN关键字的子查询 复制代码 代码如下: mysql> SELECT * FROM employee    -> WHERE d_id IN    -> (SELECT d_id FROM department);+------+------+--------+----

  • MySQL笔记之索引的使用

    索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构 其作用主要在于提高查询的速度,降低数据库系统的性能开销 通过索引,查询数据不必读完记录的全部信息进行匹配,而是只查询索引列 索引相当于字典中的音序表,要查询某字时可以在音序表中找到 然后直接跳转到那一音序所在位置,而不必从字典第一页开始翻,逐字匹配 tips:索引虽能提高查询速度,但在插入记录时会按照索引进行排序,因此降低了插入速度   最好的操作方式是先删除索引,插入大量记录后再创建索引 索引分类 1.普通索引:不附加任何限制条

  • MySQL笔记之数据类型详解

    字符型数据 字符型数据可以使用定长或变长的字符串来实现,其不同点在于固定长度的字符串使用空格向右填充,以保证占用同样的字节数;变长字符串不需要向右填充,并且所有字节数可变. char                         定长型,字节长度固定,最大长度为255字节,可以使用char(20)这种方式限定长度,查询速度快,但不灵活 varchar                    变长型,字节长度随数据量变化,最多可存储65535字节,varchar(20)可以限定长度,查询速度不及c

  • MySQL笔记之数学函数详解

    绝对值函数ABS(x)和圆周率函数PI() 复制代码 代码如下: mysql> SELECT ABS(0.5), ABS(-0.5), PI();+----------+-----------+----------+| ABS(0.5) | ABS(-0.5) | PI()     |+----------+-----------+----------+|      0.5 |       0.5 | 3.141593 |+----------+-----------+----------+ r

  • MySQL笔记之运算符使用详解

    Mysql可以通过运算符来对表中数据进行运算,比如通过出生日期求年龄等 运算符包括四类,分别是:算数运算符.比较运算符.逻辑运算符和位运算符 算数运算符加.减.乘运算 复制代码 代码如下: mysql> select a,a+5,a*2 from t1;+------+------+------+| a    | a+5  | a*2  |+------+------+------+|   24 |   29 |   48 |+------+------+------+ row in set (

  • MySQL笔记之基本查询的应用详解

    参考表:student 多字段查询 复制代码 代码如下: mysql> select id,name,birth from student; 所有字段查询 复制代码 代码如下: mysql> select * from student; where指定查询 复制代码 代码如下: mysql> select * from student where id=901;mysql> select * from student where id>=904;mysql> selec

  • MySQL笔记之连接查询详解

    连接查询是将两个或两个以上的表按某个条件连接起来,从中选取需要的数据 当不同的表中存在表示相同意义的字段时,可以通过该字段来连接这几张表 参考表:employee 参考表:department 可以看到,上面两张表都有同一个字段d_id 当两张表含有相同意义的字段(可以不同名)时就可以进行连接查询 内连接查询 复制代码 代码如下: mysql> SELECT num, name, employee.d_id, sex, d_name, function    -> FROM employee,

  • MySQL笔记之修改表的实现方法

    我们在创建表的过程中难免会考虑不周,因此后期会修改表 修改表需要用到alter table语句 修改表名 复制代码 代码如下: mysql> alter table student rename person;Query OK, 0 rows affected (0.03 sec) 这里的student是原名,person是修改过后的名字 用rename来重命名,也可以使用rename to 还有一种方法是rename table old_name to new_name 修改字段的数据类型 复

  • MySQL笔记之别名的使用

    在查询时,可以为表和字段取一个别名.这个别名可以代替其指定的表和字段 为表取别名 复制代码 代码如下: mysql> SELECT * FROM department d    -> WHERE d.d_id=1001;+------+-----------+--------------+-------------+| d_id | d_name    | function     | address     |+------+-----------+--------------+------

随机推荐