Oracle -> ダブルクォート不可
MySQL,PostgreSQL,SQL Server -> シングルクォート不可
(8.0.33)
https://dev.mysql.com/doc/refman/8.0/ja/create-user.html
パスワードをシングルクォートで囲むため、シングルクォートは使用不可
その他、\ も使用不可★
drop user if exists 'user01'@'%';
create user 'user01'@'%' identified WITH mysql_native_password by '!"#$%&()=-~^|`@{[+;*:}]<,>.?/_';
grant process on *.* to 'user01'@'%';
mysql -u user01 -p
シングルクォートは含めずに入力
Do not include double-quotation marks within the password.
You do not need to specify the following passwords in double-quotation marks.
Passwords starting with an alphabetic character (a–z, A–Z) and containing numbers (0–9) or special characters ($, #, _).
drop user if exists user01;
create user user01 identified by "!#$%&'()=-~^|\`@{[+;*:}]<,>.?/_";
grant dba to user01;
conn user01@freepdb1
ダブルクォートも含めて入力
(15)
https://www.postgresql.jp/document/15/html/sql-createrole.html
パスワードをシングルクォートで囲むため、シングルクォートは使用不可
drop user if exists user01;
create user user01 with login encrypted password '!"#$%&()=-~^|\`@{[+;*:}]<,>.?/_';
\c test user01
シングルクォートは含めずに入力
パスワードには、単一引用符、または login_name を含めることはできません。
use test
go
drop user if exists user01;
go
use master
go
drop login user01;
go
create login user01 with password='!"#$%&()=-~^|\`@{[+;*:}]<,>.?/_', default_database=test, check_policy=off
go
use test
go
create user user01 for login user01;
sqlcmd -U user01 -S localhost -d test
シングルクォートは含めずに入力