1) Как безопаснее и правильней писать имя таблицы и базы с кавычками или без кавычек . Если с кавычками то с двойными или одинарными.
SELECT * FROM `select` WHERE `select`.id > 100;
SELECT * FROM `a b`;
CREATE TABLE `a``b` (`c"d` INT);
select * from tablename group by `group`;
<select size="4" id="series_list" name="selection" onchange="selected(this)" disabled>
var videoPlayer = document.getElementById('video-player');
function selected(sel){
videoPlayer.src = sel.options[sel.selectedIndex].value;
videoPlayer.play();
}
The WITH CONSISTENT SNAPSHOT modifier starts a consistent read for storage engines that are capable of it. This applies only to InnoDB. The effect is the same as issuing a START TRANSACTION followed by a SELECT from any InnoDB table. See Section 15.7.2.3, “Consistent Nonlocking Reads”. The WITH CONSISTENT SNAPSHOT modifier does not change the current transaction isolation level, so it provides a consistent snapshot only if the current isolation level is one that permits a consistent read. The only isolation level that permits a consistent read is REPEATABLE READ. For all other isolation levels, the WITH CONSISTENT SNAPSHOT clause is ignored. A warning is generated when the WITH CONSISTENT SNAPSHOT clause is ignored.
я могу вообще не делать полную блокировку таблиц, чтобы не потерять незавершенные транзакции. Я правильно понимаю смысл использования?
SELECT user_id, price FROM (
SELECT t.*, rank() over (order by price desc) as r FROM (
SELECT user_id, SUM(price) price FROM `order` GROUP BY user_id
) t
) t2
WHERE r = 1
+-----------------+----------+----------------+-----------------+
| achievements_id | users_fk | type | date |
+-----------------+----------+----------------+-----------------+
| 1 | 1 | 1 | 2021-10-01 |
| 2 | 2 | 1 | 2021-10-04 |
| 3 | 1 | 2 | 2021-10-08 |
| 4 | 1 | 4 | 2021-10-15 |
+-----------------+----------+----------------+-----------------+
+-----------------+-----------+----------------+-----------------+
| achieve_prop_id | acieve_fk | type | value |
+-----------------+-----------+----------------+-----------------+
| 1 | 1 | 1 | 'abc' |
| 2 | 2 | 1 | '145' |
+-----------------+-----------+-----------------+----------------+
gener=connection.escape(gener)
вы получаете в запросе LIKE "%'blabla'%"
.def escape(self, obj, mapping=None):
"""Escape whatever value is passed.
Non-standard, for internal use; do not use this in your applications.
"""
cursor.execute(script.format(year_from=args.year_from,
year_to=args.year_to,
name="%{}%".format( (args.regexp.translate(str.maketrans({'%': '\%', '_': '\_'})),) ),
gener="%{}%".format( (gener.translate(str.maketrans({'%': '\%', '_': '\_'})),) ),
rating=1,
N=args.N))
SELECT m.title, year, avg(r.rating)
FROM movies AS m
JOIN rating AS r
ON m.movie_id = r.movie_id
WHERE m.year BETWEEN {year_from} and {year_to} AND m.title LIKE {name} AND m.genres LIKE {gener}
GROUP BY r.movie_id, m.title, m.year
HAVING avg(r.rating) > {rating}
ORDER BY avg(r.rating) DESC, m.year DESC, m.title asc
LIMIT {N};
'text' => 'Текст секретного сообщения: ' . $messages,
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES
( '__plugins_cache_244', 'test1', 'no')
...
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(DEFAULT, '__plugins_cache_244', 'test1', 'no')
...
Вроде всё ок. Но недавно узнал что есть тип связей многие ко многим. Где в самой бд эту связь нужно создавать. Возникает вопрос, зачем в бд указывать эти связи, если и без них этот join норм работает?
Недавно узнал, что когда делаешь селект к бд, например WHERE id=20, то БД не ищет эту запись перебором начиная с id=1, а обращается к id=20 сразу. Это для меня был шок. Как оно находит запись сразу?
Какой смысл тогда в ON DELETE CASCADE?
SELECT f.*, u.last_visit
FROM f_list f, users u
WHERE u.id = f.id_sender AND f.id_receiver = 11
UNION
SELECT f.*, u.last_visit
FROM f_list f, users u
WHERE u.id = f.id_receiver AND f.id_sender = 11
ORDER BY last_visit desc
if(isset($data["send__button"])) {
<button class="send__button" type="submit">Send</button>