--- title: "Inserting and Updating Data in a Table (Tutorial) | Microsoft Docs" ms.custom: "" ms.date: "06/13/2017" ms.prod: "sql-server-2014" ms.reviewer: "" ms.technology: ms.topic: conceptual helpviewer_keywords: - "inserting and updating data" ms.assetid: 514dc87a-b829-43b5-8fc8-1a400a260284 author: VanMSFT ms.author: vanto manager: craigg --- # Inserting and Updating Data in a Table (Tutorial) Now that you have created the **Products** table, you are ready to insert data into the table by using the INSERT statement. After the data is inserted, you will change the content of a row by using an UPDATE statement. You will use the WHERE clause of the UPDATE statement to restrict the update to a single row. The four statements will enter the following data. |ProductID|ProductName|Price|ProductDescription| |---------------|-----------------|-----------|------------------------| |1|Clamp|12.48|Workbench clamp| |50|Screwdriver|3.17|Flat head| |75|Tire Bar||Tool for changing tires.| |3000|3mm Bracket|.52|| The basic syntax is: INSERT, table name, column list, VALUES, and then a list of the values to be inserted. The two hyphens in front of a line indicate that the line is a comment and the text will be ignored by the compiler. In this case, the comment describes a permissible variation of the syntax. ### To insert data into a table 1. Execute the following statement to insert a row into the `Products` table that was created in the previous task. This is the basic syntax. ``` -- Standard syntax INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription) VALUES (1, 'Clamp', 12.48, 'Workbench clamp') GO ``` 2. The following statement shows how you can change the order in which the parameters are provided by switching the placement of the `ProductID` and `ProductName` in both the field list (in parentheses) and in the values list. ``` -- Changing the order of the columns INSERT dbo.Products (ProductName, ProductID, Price, ProductDescription) VALUES ('Screwdriver', 50, 3.17, 'Flat head') GO ``` 3. The following statement demonstrates that the names of the columns are optional, as long as the values are listed in the correct order. This syntax is common but is not recommended because it might be harder for others to understand your code. `NULL` is specified for the `Price` column because the price for this product is not yet known. ``` -- Skipping the column list, but keeping the values in order INSERT dbo.Products VALUES (75, 'Tire Bar', NULL, 'Tool for changing tires.') GO ``` 4. The schema name is optional as long as you are accessing and changing a table in your default schema. Because the `ProductDescription` column allows null values and no value is being provided, the `ProductDescription` column name and value can be dropped from the statement completely. ``` -- Dropping the optional dbo and dropping the ProductDescription column INSERT Products (ProductID, ProductName, Price) VALUES (3000, '3mm Bracket', .52) GO ``` ### To update the products table 1. Type and execute the following `UPDATE` statement to change the `ProductName` of the second product from `Screwdriver`, to `Flat Head Screwdriver`. ``` UPDATE dbo.Products SET ProductName = 'Flat Head Screwdriver' WHERE ProductID = 50 GO ``` ## Next Task in Lesson [Reading the Data in a Table (Tutorial)](lesson-1-4-reading-the-data-in-a-table.md) ## See Also [INSERT (Transact-SQL)](/sql/t-sql/statements/insert-transact-sql) [UPDATE (Transact-SQL)](/sql/t-sql/queries/update-transact-sql)