ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

05.01.2010, 16:51
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Полно вариантов, особено в никсах, но мне по душе скриптом такие вещи делать - без предварительного дампа, без зависимости от системы и бла-бла-бла
PHP код:
<pre>
<?php
$dbname = 'instant'; # Имя БД
$prefix = 'vobla_'; # Желаемый префикс
$link = mysql_connect("localhost", "root", "root"); # Хост, юзер, пароль
$query = "SHOW TABLES FROM " . $dbname;
mysql_select_db($dbname);
$result = mysql_query($query,$link);
while ($table = mysql_fetch_array($result)) {
$new = mysql_query ("ALTER TABLE `" . $table[0]. "` RENAME `" . $prefix . $table['0'] . "`", $link);
print $table[0] . " ---> " . $prefix . $table['0'] . "\n";
}
mysql_close($link);
print "Замена произведена \n";
?>
</pre>
Скуль запросом чтобы такое сделать (одним) - хз
Последний раз редактировалось Pashkela; 05.01.2010 в 19:07..
|
|
|

05.01.2010, 19:28
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Или еще один способ, чисто через phpmyadmin, аналогов не видел:
1. phpmyadmin->выбираем БД->SQL
2. Выполняем такой запрос:
SELECT CONCAT(CONCAT('ALTER TABLE ', table_name),CONCAT(' RENAME ', CONCAT('pref_', table_name, ';'))) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='instant' LIMIT 0 , 100;
где "pref_" - нужный префикс, в LIMIT указываем кол-во таблиц для изменения, "instant" - имя БД, в которой мы хотим добавить префикс к таблицам. В результате получим текст sql-запроса, который останется только скопировать и выполнить:
т.е. полученный текст копируем, опять лезем в SQL, вставляем, выполняем, всё.
PS: Можно вывести в файл и потом копировать оттуда
Последний раз редактировалось Pashkela; 05.01.2010 в 19:33..
|
|
|

05.01.2010, 20:34
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
какой самый быстрый способ выбора последних n строк с таблице , в том же порядке в котором идут, длю удобства есть id (auto inc)
|
|
|

05.01.2010, 20:48
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
select * from table order by id DESC limit n,m
Последний раз редактировалось Pashkela; 05.01.2010 в 20:51..
|
|
|

05.01.2010, 20:54
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
Сообщение от Pashkela
select * from table order by id DESC limit n,m
не так я уже делал, только один витаскивал, n-ий с конца
|
|
|

05.01.2010, 20:58
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
select * from table order by data limit $количество_записей-N ,$количество_записей
только вот такой вариант заработал как надо, но тут заранее еще надо и количество всех записей узнавать, хоте бы что бы без этого было
|
|
|

06.01.2010, 01:30
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Код:
SELECT * FROM
(SELECT *
FROM table
ORDER BY id DESC LIMIT 10) as x
ORDER BY id ASC
|
|
|

06.01.2010, 02:30
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
Сообщение от VDShark
Код:
SELECT * FROM
(SELECT *
FROM table
ORDER BY id DESC LIMIT 10) as x
ORDER BY id ASC
да, вот этот вариант мне подходит, спасибо
|
|
|

06.01.2010, 01:53
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Имеем таблицу,в ней допустим:
id name vis num
+--------+---------+---------+---------+
| 1 hello 1 4 |
| 2 blabla 1 2 |
| 3 sexy 0 1 |
| 4 pew 1 9 |
+---------+---------+---------+--------+
PHP код:
$query = mysql_query("SELECT * FROM block WHERE vis = 1");
Так вот,хотелось бы получить результаты отсортированные по num, тоесть по возрастанию,от 1 к 9.Спасибо.
|
|
|

06.01.2010, 02:08
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от m0Hze
Имеем таблицу,в ней допустим:
id name vis num
+--------+---------+---------+---------+
| 1 hello 1 4 |
| 2 blabla 1 2 |
| 3 sexy 0 1 |
| 4 pew 1 9 |
+---------+---------+---------+--------+
PHP код:
$query = mysql_query("SELECT * FROM block WHERE vis = 1");
Так вот,хотелось бы получить результаты отсортированные по num, тоесть по возрастанию,от 1 к 9.Спасибо.
)) DESC,ASC 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|