{"id":376,"date":"2015-12-06T21:36:27","date_gmt":"2015-12-06T14:36:27","guid":{"rendered":"http:\/\/www.sqlitetutorial.net\/?page_id=376"},"modified":"2022-04-03T15:05:53","modified_gmt":"2022-04-03T08:05:53","slug":"sqlite-alter-table","status":"publish","type":"page","link":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/","title":{"rendered":"SQLite ALTER TABLE"},"content":{"rendered":"\r\n<p><strong>Summary<\/strong>: in this tutorial, you will learn how to use SQLite <code>ALTER TABLE<\/code> statement to change the structure of an existing table.<\/p>\r\n\r\n\r\n\r\n<p>Unlike SQL-standard and other database systems, SQLite supports a very limited functionality of the <code>ALTER TABLE<\/code> statement.<\/p>\r\n\r\n\r\n\r\n<p>By using an SQLite <code>ALTER TABLE<\/code> statement, you can perform two actions:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\"><li>Rename a table.<\/li><li>Add a new column to a table.<\/li><li><a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-rename-column\/\">Rename a column<\/a> (added supported in version 3.20.0)<\/li><\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Using SQLite ALTER TABLE to rename a table<\/h2>\r\n\r\n\r\n\r\n<p>To rename a table, you use the following <code>ALTER TABLE RENAME TO<\/code> statement:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">TABLE<\/span> existing_table\r\n<span class=\"hljs-keyword\">RENAME<\/span> <span class=\"hljs-keyword\">TO<\/span> new_table;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>These are important points you should know before you rename a table:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>The <code>ALTER TABLE<\/code> only renames a table within a database. You cannot use it to move the table between the attached databases.<\/li><li>The database objects such as <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-index\/\">indexes<\/a> and <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-trigger\/\">triggers<\/a> associated with the table will be associated with the new table.<\/li><li>If a table is referenced by <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-create-view\/\">views<\/a> or statements in <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-trigger\/\">triggers<\/a>, you must manually change the definition of views and triggers.<\/li><\/ul>\r\n\r\n\r\n\r\n<p>Let&#8217;s take an example of renaming a table.<\/p>\r\n\r\n\r\n\r\n<p>First, <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-create-table\/\">create a table<\/a> named <code>devices<\/code> that has three columns: <code>name,<\/code> <code>model<\/code>, <code>serial<\/code>; and <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-insert\/\">insert a new row<\/a> into the <code>devices<\/code> table.<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> devices (\r\n   <span class=\"hljs-keyword\">name<\/span> <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n   <span class=\"hljs-keyword\">model<\/span> <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n   <span class=\"hljs-built_in\">Serial<\/span> <span class=\"hljs-built_in\">INTEGER<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span> <span class=\"hljs-keyword\">UNIQUE<\/span>\r\n);\r\n\r\n<span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> devices (<span class=\"hljs-keyword\">name<\/span>, <span class=\"hljs-keyword\">model<\/span>, <span class=\"hljs-built_in\">serial<\/span>)\r\n<span class=\"hljs-keyword\">VALUES<\/span>(<span class=\"hljs-string\">'HP ZBook 17 G3 Mobile Workstation'<\/span>,<span class=\"hljs-string\">'ZBook'<\/span>,<span class=\"hljs-string\">'SN-2015'<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p><a class=\"sql\" href=\"https:\/\/www.sqlitetutorial.net\/tryit\/query\/sqlite-alter-table\/#1\" target=\"_blank\" rel=\"noopener noreferrer\">Try It<\/a><\/p>\r\n\r\n\r\n\r\n<p>Second, use the <code>ALTER TABLE RENAME TO<\/code> statement to change the <code>devices<\/code> table to <code>equipment<\/code> table as follows:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">TABLE<\/span> devices\r\n<span class=\"hljs-keyword\">RENAME<\/span> <span class=\"hljs-keyword\">TO<\/span> equipment;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p><a class=\"sql\" href=\"https:\/\/www.sqlitetutorial.net\/tryit\/query\/sqlite-alter-table\/#2\" target=\"_blank\" rel=\"noopener noreferrer\">Try It<\/a><\/p>\r\n\r\n\r\n\r\n<p>Third, query data from the <code>equipment<\/code> table to verify the <code>RENAME<\/code> operation.<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span>\r\n\t<span class=\"hljs-keyword\">name<\/span>,\r\n\t<span class=\"hljs-keyword\">model<\/span>,\r\n\t<span class=\"hljs-built_in\">serial<\/span>\r\n<span class=\"hljs-keyword\">FROM<\/span>\r\n\tequipment;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p><a class=\"sql\" href=\"https:\/\/www.sqlitetutorial.net\/tryit\/query\/sqlite-alter-table\/#3\" target=\"_blank\" rel=\"noopener noreferrer\">Try It<\/a><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Using SQLite ALTER TABLE to add a new column to a table<\/h2>\r\n\r\n\r\n\r\n<p>You can use the SQLite <code>ALTER TABLE<\/code> statement to add a new column to an existing table. In this scenario, SQLite appends the new column at the end of the existing column list.<\/p>\r\n\r\n\r\n\r\n<p>The following illustrates the syntax of <code>ALTER TABLE ADD COLUMN<\/code> statement:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">TABLE<\/span> table_name\r\n<span class=\"hljs-keyword\">ADD<\/span> <span class=\"hljs-keyword\">COLUMN<\/span> column_definition;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>There are some restrictions on the new column:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>The new column cannot have a <code><a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-unique-constraint\/\">UNIQUE<\/a><\/code> or <code><a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-primary-key\/\">PRIMARY KEY<\/a><\/code>\u00a0constraint.<\/li><li>If the new column has a <code><a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-not-null-constraint\/\">NOT NULL<\/a><\/code> constraint, you must specify a default value for the column other than a <code>NULL<\/code> value.<\/li><li>The new column cannot have a default of <code>CURRENT_TIMESTAMP<\/code>, <code>CURRENT_DATE<\/code>, and <code>CURRENT_TIME<\/code>, or an expression.<\/li><li>If the new column is a foreign key and the <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-foreign-key\/\">foreign key constraint<\/a> check is enabled, the new column must accept a default value <code>NULL<\/code>.<\/li><\/ul>\r\n\r\n\r\n\r\n<p>For example, you can add a new column named <code>location<\/code> to the <code>equipment<\/code> table:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">TABLE<\/span> equipment \r\n<span class=\"hljs-keyword\">ADD<\/span> <span class=\"hljs-keyword\">COLUMN<\/span> location <span class=\"hljs-built_in\">text<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p><a class=\"sql\" href=\"https:\/\/www.sqlitetutorial.net\/tryit\/query\/sqlite-alter-table\/#4\" target=\"_blank\" rel=\"noopener noreferrer\">Try It<\/a><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Using SQLite ALTER TABLE to rename a column<\/h2>\r\n\r\n\r\n\r\n<p>SQLite added the support for renaming a column using <code>ALTER TABLE RENAME COLUMN<\/code> statement in version 3.20.0<\/p>\r\n\r\n\r\n\r\n<p>The following shows the syntax of the <code>ALTER TABLE RENAME COLUMN<\/code> statement:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">ALTER TABLE table_name\r\nRENAME COLUMN current_name TO new_name;<\/code><\/span><\/pre>\r\n\r\n\r\n<p>For more information on how to rename a column, check it out the <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-rename-column\/\">renaming column tutorial<\/a>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Using SQLite ALTER TABLE for other actions<\/h2>\r\n\r\n\r\n\r\n<p>If you want to perform other actions e.g., drop a column, you use the following steps:<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"532\" height=\"270\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg\" alt=\"SQLite-ALTER-TABLE-Steps\" class=\"wp-image-394\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg 532w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps-300x152.jpg 300w\" sizes=\"auto, (max-width: 532px) 100vw, 532px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>The following script illustrates the steps above:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-comment\">-- disable foreign key constraint check<\/span>\r\n<span class=\"hljs-keyword\">PRAGMA<\/span> foreign_keys=<span class=\"hljs-keyword\">off<\/span>;\r\n\r\n<span class=\"hljs-comment\">-- start a transaction<\/span>\r\n<span class=\"hljs-keyword\">BEGIN<\/span> <span class=\"hljs-keyword\">TRANSACTION<\/span>;\r\n\r\n<span class=\"hljs-comment\">-- Here you can drop column<\/span>\r\n<span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-keyword\">IF<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-keyword\">EXISTS<\/span> new_table( \r\n   column_definition,\r\n   ...\r\n);\r\n<span class=\"hljs-comment\">-- copy data from the table to the new_table<\/span>\r\n<span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> new_table(column_list)\r\n<span class=\"hljs-keyword\">SELECT<\/span> column_list\r\n<span class=\"hljs-keyword\">FROM<\/span> <span class=\"hljs-keyword\">table<\/span>;\r\n\r\n<span class=\"hljs-comment\">-- drop the table<\/span>\r\n<span class=\"hljs-keyword\">DROP<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-keyword\">table<\/span>;\r\n\r\n<span class=\"hljs-comment\">-- rename the new_table to the table<\/span>\r\n<span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">TABLE<\/span> new_table <span class=\"hljs-keyword\">RENAME<\/span> <span class=\"hljs-keyword\">TO<\/span> <span class=\"hljs-keyword\">table<\/span>; \r\n\r\n<span class=\"hljs-comment\">-- commit the transaction<\/span>\r\n<span class=\"hljs-keyword\">COMMIT<\/span>;\r\n\r\n<span class=\"hljs-comment\">-- enable foreign key constraint check<\/span>\r\n<span class=\"hljs-keyword\">PRAGMA<\/span> foreign_keys=<span class=\"hljs-keyword\">on<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<h3 class=\"wp-block-heading\">SQLite ALTER TABLE DROP COLUMN example<\/h3>\r\n\r\n\r\n\r\n<p>SQLite does not support <code>ALTER TABLE DROP COLUMN<\/code> statement. To drop a column, you need to use the steps above.<\/p>\r\n\r\n\r\n\r\n<p>The following script <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-create-table\/\">creates two tables<\/a> <code>users<\/code> and <code>favorites<\/code>, and <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-insert\/\">insert<\/a> data into these tables:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-keyword\">users<\/span>(\r\n\tUserId <span class=\"hljs-built_in\">INTEGER<\/span> PRIMARY <span class=\"hljs-keyword\">KEY<\/span>,\r\n\tFirstName <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n\tLastName <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n\tEmail <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n\tPhone <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>\r\n);\r\n\r\n<span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> favorites(\r\n\tUserId <span class=\"hljs-built_in\">INTEGER<\/span>,\r\n\tPlaylistId <span class=\"hljs-built_in\">INTEGER<\/span>,\r\n\t<span class=\"hljs-keyword\">FOREIGN<\/span> <span class=\"hljs-keyword\">KEY<\/span>(UserId) <span class=\"hljs-keyword\">REFERENCES<\/span> <span class=\"hljs-keyword\">users<\/span>(UserId),\r\n\t<span class=\"hljs-keyword\">FOREIGN<\/span> <span class=\"hljs-keyword\">KEY<\/span>(PlaylistId) <span class=\"hljs-keyword\">REFERENCES<\/span> playlists(PlaylistId)\r\n);\r\n\r\n<span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> <span class=\"hljs-keyword\">users<\/span>(FirstName, LastName, Email, Phone)\r\n<span class=\"hljs-keyword\">VALUES<\/span>(<span class=\"hljs-string\">'John'<\/span>,<span class=\"hljs-string\">'Doe'<\/span>,<span class=\"hljs-string\">'john.doe@example.com'<\/span>,<span class=\"hljs-string\">'408-234-3456'<\/span>);\r\n\r\n<span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> favorites(UserId, PlaylistId)\r\n<span class=\"hljs-keyword\">VALUES<\/span>(<span class=\"hljs-number\">1<\/span>,<span class=\"hljs-number\">1<\/span>);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>The following statement returns data from the <code>users<\/code> table:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> * <span class=\"hljs-keyword\">FROM<\/span> <span class=\"hljs-keyword\">users<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"475\" height=\"48\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-users-table.png\" alt=\"\" class=\"wp-image-1925\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-users-table.png 475w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-users-table-300x30.png 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>And the following statement returns the data from the <code>favorites<\/code> table:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> * <span class=\"hljs-keyword\">FROM<\/span> favorites;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"154\" height=\"47\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-favorites-table.png\" alt=\"\" class=\"wp-image-1926\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-favorites-table.png 154w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-favorites-table-150x47.png 150w\" sizes=\"auto, (max-width: 154px) 100vw, 154px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Suppose, you want to drop the column <code>phone<\/code> of the <code>users<\/code> table.<\/p>\r\n\r\n\r\n\r\n<p>First, disable the foreign key constraint check:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">PRAGMA foreign_keys=off;<\/code><\/span><\/pre>\r\n\r\n\r\n<p>Second, start a new <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-transaction\/\">transaction<\/a>:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">BEGIN<\/span> <span class=\"hljs-keyword\">TRANSACTION<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Third, <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-create-table\/\">create a new table<\/a> to hold data of the <code>users<\/code> table except for the <code>phone<\/code> column:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-keyword\">IF<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-keyword\">EXISTS<\/span> persons (\r\n\tUserId <span class=\"hljs-built_in\">INTEGER<\/span> PRIMARY <span class=\"hljs-keyword\">KEY<\/span>,\r\n\tFirstName <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n\tLastName <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>,\r\n\tEmail <span class=\"hljs-built_in\">TEXT<\/span> <span class=\"hljs-keyword\">NOT<\/span> <span class=\"hljs-literal\">NULL<\/span>\r\n);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Fourth, copy data from the <code>users<\/code> to <code>persons<\/code> table:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> persons(UserId, FirstName, LastName, Email)\r\n<span class=\"hljs-keyword\">SELECT<\/span> UserId, FirstName, LastName, Email \r\n<span class=\"hljs-keyword\">FROM<\/span> <span class=\"hljs-keyword\">users<\/span>;\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Fifth, drop the <code>users<\/code> table:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">DROP<\/span> <span class=\"hljs-keyword\">TABLE<\/span> <span class=\"hljs-keyword\">users<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Sixth, rename the <code>persons<\/code> table to <code>users<\/code> table:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">ALTER<\/span> <span class=\"hljs-keyword\">TABLE<\/span> persons <span class=\"hljs-keyword\">RENAME<\/span> <span class=\"hljs-keyword\">TO<\/span> <span class=\"hljs-keyword\">users<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Seventh, commit the transaction:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">COMMIT<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Eighth, enable the foreign key constraint check:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">PRAGMA<\/span> foreign_keys=<span class=\"hljs-keyword\">on<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<p>Here is the <code>users<\/code> table after dropping the <code>phone<\/code> column:<\/p>\r\n\r\n\r\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> * <span class=\"hljs-keyword\">FROM<\/span> <span class=\"hljs-keyword\">users<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"392\" height=\"47\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-users-table-after-change.png\" alt=\"\" class=\"wp-image-1927\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-users-table-after-change.png 392w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2019\/08\/sqlite-alter-table-drop-column-users-table-after-change-300x36.png 300w\" sizes=\"auto, (max-width: 392px) 100vw, 392px\" \/><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Summary<\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li>Use the <code>ALTER TABLE<\/code> statement to modify the structure of an existing table.<\/li><li>Use <code>ALTER TABLE table_name RENAME TO new_name<\/code> statement to rename a table.<\/li><li>Use <code>ALTER TABLE table_name ADD COLUMN column_definition<\/code> statement to add a column to a table.<\/li><li>Use <code>ALTER TABLE table_name RENAME COLUMN current_name TO new_name<\/code> to rename a column.<\/li><\/ul>\r\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"376\"\n\t\t\t\tdata-post-url=\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\"\n\t\t\t\tdata-post-title=\"SQLite ALTER TABLE\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"376\"\n\t\t\t\tdata-post-url=\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\"\n\t\t\t\tdata-post-title=\"SQLite ALTER TABLE\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you will learn how to use SQLite ALTER TABLE statement to change the structure of an existing table.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2,"menu_order":50,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-376","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQLite ALTER TABLE &amp; How To Overcome Its Limitations<\/title>\n<meta name=\"description\" content=\"This tutorial shows you how to use SQLite ALTER TABLE statement to rename a table and add a new column to a table. The steps for other actions also covered.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQLite ALTER TABLE &amp; How To Overcome Its Limitations\" \/>\n<meta property=\"og:description\" content=\"This tutorial shows you how to use SQLite ALTER TABLE statement to rename a table and add a new column to a table. The steps for other actions also covered.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\" \/>\n<meta property=\"og:site_name\" content=\"SQLite Tutorial\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-03T08:05:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427\"},\"headline\":\"SQLite ALTER TABLE\",\"datePublished\":\"2015-12-06T14:36:27+00:00\",\"dateModified\":\"2022-04-03T08:05:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\"},\"wordCount\":573,\"image\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\",\"url\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\",\"name\":\"SQLite ALTER TABLE & How To Overcome Its Limitations\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg\",\"datePublished\":\"2015-12-06T14:36:27+00:00\",\"dateModified\":\"2022-04-03T08:05:53+00:00\",\"description\":\"This tutorial shows you how to use SQLite ALTER TABLE statement to rename a table and add a new column to a table. The steps for other actions also covered.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage\",\"url\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg\",\"contentUrl\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg\",\"width\":532,\"height\":270},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlitetutorial.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQLite ALTER TABLE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/#website\",\"url\":\"https:\/\/www.sqlitetutorial.net\/\",\"name\":\"SQLite Tutorial\",\"description\":\"A Step-by-step SQLite Tutorial\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlitetutorial.net\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427\",\"name\":\"admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQLite ALTER TABLE & How To Overcome Its Limitations","description":"This tutorial shows you how to use SQLite ALTER TABLE statement to rename a table and add a new column to a table. The steps for other actions also covered.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/","og_locale":"en_US","og_type":"article","og_title":"SQLite ALTER TABLE & How To Overcome Its Limitations","og_description":"This tutorial shows you how to use SQLite ALTER TABLE statement to rename a table and add a new column to a table. The steps for other actions also covered.","og_url":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/","og_site_name":"SQLite Tutorial","article_modified_time":"2022-04-03T08:05:53+00:00","og_image":[{"url":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#article","isPartOf":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/"},"author":{"name":"admin","@id":"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427"},"headline":"SQLite ALTER TABLE","datePublished":"2015-12-06T14:36:27+00:00","dateModified":"2022-04-03T08:05:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/"},"wordCount":573,"image":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/","url":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/","name":"SQLite ALTER TABLE & How To Overcome Its Limitations","isPartOf":{"@id":"https:\/\/www.sqlitetutorial.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg","datePublished":"2015-12-06T14:36:27+00:00","dateModified":"2022-04-03T08:05:53+00:00","description":"This tutorial shows you how to use SQLite ALTER TABLE statement to rename a table and add a new column to a table. The steps for other actions also covered.","breadcrumb":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#primaryimage","url":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg","contentUrl":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2015\/12\/SQLite-ALTER-TABLE-Steps.jpg","width":532,"height":270},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-alter-table\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlitetutorial.net\/"},{"@type":"ListItem","position":2,"name":"SQLite ALTER TABLE"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlitetutorial.net\/#website","url":"https:\/\/www.sqlitetutorial.net\/","name":"SQLite Tutorial","description":"A Step-by-step SQLite Tutorial","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlitetutorial.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427","name":"admin"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/comments?post=376"}],"version-history":[{"count":1,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/376\/revisions"}],"predecessor-version":[{"id":2803,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/376\/revisions\/2803"}],"up":[{"embeddable":true,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/2"}],"wp:attachment":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/media?parent=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}