How can I change column order through mysql workbench? - mysql

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`;

Related

MySQL Workbench doesn't show columns when I alter the table

I have the table "giorno",I want to alter it but no columns are showed and I can't even add a new column because the existing columns are not shown either, se the screenshot below:
I also tried to create a new table but it appears the same bug. So I can't add new columns.
How is it possible? Maybe I made a mistake with my settings?
Just in case anyone else runs into this. Just click the arrow on the top right (next to schema).
On the right of your screen i can see two scrollbar arrows. Please try to place your mouse pointer there and resize the window.(Its in the same line with the Column Name,Datatype,PK...)
I think there's a bug. I had the same issue, but it was stopping after a
timestamp(6) / on update CURRENT_TIMESTAMP(6)
field. I had to change it to a straight date(6) field with no on update clause, and the rest of the fields then appeared.
After that, I went back and changed my field back to timestamp(6) / on update CURRENT_TIMESTAMP(6) and the table editor displayed everything correctly.
I found the solution. I have 3 tables and any of them has a primary key. I just changed one key from Primary to Index and now everything is working.
For me restarting the workbench solved the problem!

How to do Indexing of database tables in phpMyAdmin

I want to boost up my database speed each time when new query hit to database table. Can anybody help me out with how indexing works in phpMyAdmin & how to do it??
Select a table
click on page Structure
Below the column section you can found an index section
Found the Create an index on x columns
Press the button GO
you can use create index statement:
create index idx_username on users(username)
what actually means: "i want to create index called idx_username on table users on column username"
Set the index from PHPMYADMIN.
I marked the index button in yellow.

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.

Change column order in 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!

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.