mysql更新语句sql_SQL更新语句说明:更新表的查询(包括
MySQL⽰例)
小程序开发简易音乐播放器代码mysql更新语句sql
更新查询可以做什么 (What an Update query can do)
An update query gives the DBA or SQL-using programmer the ability to update many records with one command.
更新查询使DBA或使⽤SQL的程序员能够使⽤⼀个命令更新许多记录。
Important Safety Tip: always have a backup copy of what you are about to change BEFORE you change it.
重要安全提⽰:更改之前,请始终保留要更改内容的备份副本。
This guide will:
本指南将:
add a new field to the student table手机端网页模板尺寸
向学⽣表添加新字段
test the logic to update that field with a school assigned email address
测试⽤学校分配的电⼦邮件地址更新该字段的逻辑
update the new field.
更新新字段。
Here is the student table as we start this process
这是我们开始此过程时的学⽣表
SELECT * FROM student;
+-----------+------------------------+-----------+------------------+---------------------+---------------------+
| studentID | FullName | sat_score | programOfStudy | rcd_Created | rcd_Updated |
+-----------+------------------------+-----------+------------------+---------------------+---------------------+
| 1 | Monique Davis | 400 | Literature | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 |
| 2 | Teri Gutierrez | 800 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 |
| 3 | Spencer Pautier | 1000 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 |
| 6 | Sophie Freeman | 1200 | Programming | 2017-08-16 15:34:50 | 2017-08-16 15:34:50 |
| 7 | Edgar Frank "Ted" Codd | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 |
| 8 | Donald D. Chamberlin | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 |
| 9 | Raymond F. Boyce | 2400 | Computer Science | 2017-08-16 15:35:33 | 2017-08-16 15:35:33 |
+-----------+------------------------+-----------+------------------+---------------------+---------------------+
9 rows in set (0.00 sec)
更改表并添加新字段 (Alter the table and add a new field)
ALTER TABLE `fcc_sql_guides_database`.`student`
ADD COLUMN `schoolEmailAdr` VARCHAR(125) NULL AFTER `programOfStudy`;
The student table after the alter is executed.
执⾏更改后的学⽣表。
+------------------------+-----------+------------------+----------------+
| FullName | sat_score | programOfStudy | schoolEmailAdr |
+------------------------+-----------+------------------+----------------+
中学生如何学编程| Monique Davis | 400 | Literature | NULL |
| Teri Gutierrez | 800 | Programming | NULL |
| Spencer Pautier | 1000 | Programming | NULL |
绿松石项链| Louis Ramsey | 1200 | Programming | NULL |
| Alvin Greene | 1200 | Programming | NULL |
| Sophie Freeman | 1200 | Programming | NULL |
| Edgar Frank "Ted" Codd | 2400 | Computer Science | NULL |
| Donald D. Chamberlin | 2400 | Computer Science | NULL |
| Raymond F. Boyce | 2400 | Computer Science | NULL |
+------------------------+-----------+------------------+----------------+
9 rows in set (0.00 sec)
测试逻辑(⾮常重要的⼀步!) (TESTING the logic (VERY important step!))
SELECT FullName, instr(FullName," ") AS firstSpacePosition,
concat(substring(FullName,1,instr(FullName," ")-1),"@someSchool.edu") AS schoolEmail
FROM student;
+------------------------+--------------------+------------------------+
| FullName | firstSpacePosition | schoolEmail |
+------------------------+--------------------+------------------------+
| Monique Davis | 8 | Monique@someSchool.edu |
| Teri Gutierrez | 5 | Teri@someSchool.edu |
| Spencer Pautier | 8 | Spencer@someSchool.edu |
| Louis Ramsey | 6 | Louis@someSchool.edu |
| Alvin Greene | 6 | Alvin@someSchool.edu |
mysql语句顺序| Sophie Freeman | 7 | Sophie@someSchool.edu |
| Edgar Frank "Ted" Codd | 6 | Edgar@someSchool.edu |
| Donald D. Chamberlin | 7 | Donald@someSchool.edu |
| Raymond F. Boyce | 8 | Raymond@someSchool.edu |
+------------------------+--------------------+------------------------+
9 rows in set (0.00 sec)
A note about concat(): in MySQL this command is used to combined strings, not so in other SQL versions (check your manual). In this usage it works like this: The substring of the FullName field up to but not including the first space is combined with “@someSchool.edu”. In the real world this would
HAVE TO be much more complex and you would need to ensure that the email address is unique.
关于concat()的注释:在MySQL中,此命令⽤于组合字符串,⽽在其他SQL版本中则不是这样(请查看⼿册)。在这种⽤法中,它的⼯作⽅式如下:FullName字段的⼦字符串,直到但不包括第⼀个空格,都与“ @ someSchool.edu”组合在⼀起。在现实世界中,这将变得更加复杂,并且您需要确保电⼦邮件地址是唯⼀的。
进⾏更新 (Doing the update)
We’ll pretend that this is what we want and update the table with this information:
我们将假装这就是我们想要的,并使⽤以下信息更新表:
UPDATE student SET schoolEmailAdr = concat(substring(FullName,1,instr(FullName," ")-1),"@someSchool.edu")
WHERE schoolEmailAdr is NULL;
Success!
成功!
+------------------------+-----------+------------------+------------------------+
| FullName | sat_score | programOfStudy | schoolEmailAdr |
+------------------------+-----------+------------------+------------------------+
| Monique Davis | 400 | Literature | Monique@someSchool.edu |
| Teri Gutierrez | 800 | Programming | Teri@someSchool.edu |
| Spencer Pautier | 1000 | Programming | Spencer@someSchool.edu |
| Louis Ramsey | 1200 | Programming | Louis@someSchool.edu |
| Alvin Greene | 1200 | Programming | Alvin@someSchool.edu |
| Sophie Freeman | 1200 | Programming | Sophie@someSchool.edu |
| Edgar Frank "Ted" Codd | 2400 | Computer Science | Edgar@someSchool.edu |
| Donald D. Chamberlin | 2400 | Computer Science | Donald@someSchool.edu |
| Raymond F. Boyce | 2400 | Computer Science | Raymond@someSchool.edu |
+------------------------+-----------+------------------+------------------------+
9 rows in set (0.00 sec)
公众平台商城开发As with all of these SQL things there is MUCH MORE to them than what’s in this introductory guide.
与所有这些SQL事物⼀样,它们⽐本⼊门指南中的内容要多得多。
I hope this at least gives you enough to get started.
我希望这⾄少能给您⾜够的⼊门。
Please see the manual for your database manager and have fun trying different options yourself.
请参阅数据库管理员的⼿册,并尝试⾃⼰尝试其他选项,这很有趣。
您如何使⽤Update语句? (How do you use an Update statement?)
To update a record in a table you use the UPDATE statement.
要更新表中的记录,请使⽤UPDATE语句。
Be careful. You can update all records of the table or just a few. Use the WHERE condition to specify which records do you want to update. It is possible to update one or more columns at a time. The syntax is:
⼩⼼。 您可以更新表中的所有记录或仅更新其中的⼀些记录。 使⽤WHERE条件指定要更新的记录。 可以⼀次更新⼀个或多个列。 语法为:
UPDATE table_name
SET column1 = value1,
column2 = value2, ...
WHERE condition;
Here is an example updating the Name of the record with Id 4:
这是⼀个使⽤ID 4更新记录名称的⽰例:
UPDATE Person
SET Name = “Elton John”
WHERE Id = 4;
You can also update columns in a table by using values from other tables. Use JOIN clause to get data from multiple tables. The syntax is:
您还可以通过使⽤其他表中的值来更新表中的列。 使⽤JOIN⼦句从多个表中获取数据。 语法为:
UPDATE table_name1
SET lumn1 = lumnA
lumn2 = lumnB
FROM table_name1
JOIN table_name2 ON table_name1.ForeignKey = table_name2.Key Here is an example updating Manager of all records:
这是所有记录的更新管理器的⽰例:
UPDATE Person
SET Person.Manager = Department.Manager
FROM Person
JOIN Department ON Person.DepartmentID = Department.ID mysql更新语句sql
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论