Change column order in MySQL - mysql

Is it possible to change the order of columns in MySQL (using phpMyAdmin XAMPP) by which they appear without dropping the current table?

Try this
ALTER TABLE `table_name`
MODIFY COLUMN `column_name1` varchar(100) AFTER `column_name2`;

I'm not sure about phpMyAdmin, but you can certainly do that with an SQL query:
ALTER TABLE `table`
CHANGE COLUMN `oldname` `newname` *column_definition* [AFTER|BEFORE] `colname`;

How to do it by using PhpMyAdmin:
Show table structure
On the relevant row (i.e. database column) click on "Modify"
On the extreme right, choose the new position form the "Move field" combo box
Optionally, click on "Show preview" to see what SQL query will be run (also useful for automatically repeating the procedure in another instance of the same database)
After closing the preview box, click on "Save"
Done!

Related

How can I change column order through mysql workbench?

I know how to reorder column order through query,
How do I reorder columns in MySQL Query Editor?,
I just want to know is there any other (simpler) way to do this directly through MySQL workbench.
Right-click the column and choose Move Up or Move Down. Dragging does not work in MySQL Workbench 6.3.
P.Salmon commented with a link that has more detail.
Open Alter Table
Just move column with your mouse to the position you want (Do not select it before this action)
First of all you should get column definition by using show create Table then I think Modify should work
ALTER TABLE yourTableName MODIFY bar bartype AFTER baz;
Hope it will help
As the previous answers point out, we need open Alter Table first. On workbench 8.0, right click table, then click 'Alter table'
Image to show how to open Alter Table on Workbench 8.0
The SQL I got from moving a column is as follows with "CHANGE COLUMN" keywords.
ALTER TABLE `your_database`.`your_table`
CHANGE COLUMN `column_a` `column_a` VARCHAR(16) NULL DEFAULT NULL COMMENT 'this is comment' AFTER `colum_b`;

How to get a column creation script workbench?

I upload my sql database on workbench to add properly a new relation between two tables. But I only need The ALTER TABLE .. ADD .. AFTER script not the CREATE TABLE because it's already created with inserted values.
So is there any solution to get the script only to create the column with its foreign keys ?
Thank you in advance.
Not sure when this function was introduced, but with workbench 5.2.33 you can obtaing the ALTER statment by selecting the table you want to alter, and right-click and select ALTER
After this you can define the Foreing Keys
And when you press "Apply", you can see and copy the script
Once you have the script, click "cancel" and don't apply the changes.

how to delete my database in a simple way

I want to delete my database used in my webhotel. How do I do?
I am a newbie, and have tried to find a way to do it, but without success.
Please assist me.
Reason is, I want to start all over.
Best regards, dolle
DROP database_name
If your database name is webhotel_db, you can run this command in your database client's query box:
DROP webhotel_db
You can try to delete your databases or tables from phpMyAdmin by using DROP.
There are two kinds of DROP buttons. You should select the appropriate one for your purpose.
1. Delete database:
phpMyAdmin > Click on the database you wish to delete (on the left of your screen) > Click on the DROP tab
Click to watch an example
2. Delete tables:
phpMyAdmin > Click on the database (on the left of your screen) > check the table and click DROP (you can find this DROP button on the same line as your table)
Click to watch an example

AUTOINCREMENT not automatically adding values in Mysql Workbench IDE

I am learning to use MYSQL-Workbench for inserting data into tables
My Problem::
I have two columns one for Sl_no and one for Name
Sl_no is the primary key which has auto increment checked as shown in
snapshot-1
If you look at Snapshot-2 auto_increment is not automatically
incremented when i keep adding the values
should i need to enable any option for this ?
Because Using the IDE should automatically add values(Since Sl_NO has
autoincrement enabled) but it is not doing so
I have to manually add it one after another
Snapshot-1
Snapshot-2
How can i resolve this ?
{EDIT}
I am using Windows-7 OS
As you can see i am clicking the marked area in the pic to apply
changes, but nothing is happening.
Should i need to enable any settings
UPDATE: It wasn't apparent right away that you're doing this from model and not directly in your db table.
To create your schema from model you need to do Forward Engineering and in the dialog choose Generate INSERT Statements for Tables.
Then go to the object browser in your MySQL connection, not your model. Fire select statement in query window or choose from context menu Select Rows - LIMIT 1000 and you'll see that your sl_no column is populated as expected.
BTW both mac and windows interfaces are identical.
Original answer:
You forgot to commit your changes by clicking Apply
And after reviewing the change script click Apply again.
After that you'll see your auto_increment column values populated

How to configure the structure of a mysql database

Is it possible to restore the previous state of a mysql database through phpmyadmin?
I have one column in 4 of the tables that have the auto increment.
And my problem is how to begin again in the count of number 1 when I try to add a data.
I tried deleting all the records then add a record but it doesn't start with 1.
How do I do this without building the database over again by typing and selecting the data types.
What I want to do is to start the counting from 1 again. Is it possible?
Open phpMyAdmin and then select the DB you wish to change from the top left panel.
Now click the "query" button also top left to open a query window where you can then run the sql code below to reset the auto increment count for your table.
ALTER TABLE your_table_name AUTO_INCREMENT=1
If you dont care about the data in the table you can just hit the empty button (make sure you are on the right table). That will tuncate your table and anything you add after that will start at 1. If you set a field to auto increment then each item after that will increase by 1.
Have you tried ...
ALTER TABLE t2 AUTO_INCREMENT = 1;
It will reset the value to the smallest value allowed. Other than that you are out of luck.