UPDATE JOIN бичих нь: MsSQL, MySQL, pgSQL

Хааяа UPDATE JOIN хийх хэрэгцээ гардаг. Заримдаа хэрхэн бичихээ мартчих юм. T-SQL-ийн хувьд хэд хэдэн арга бий, гэхдээ би доор бичсэн хувилбарыг ашиглаад сурчихсан.

T-SQL

UPDATE blog_tagging AS bt
	SET bt.tag = t.tag_name
	FROM tbl_tags AS t
	WHERE bt.tag_id = t.tag_id

MySQL

UPDATE blog_tagging AS bt
	LEFT JOIN tbl_tags AS t ON bt.tag_id = t.tag_id
	SET bt.tag = t.tag_name

pgSQL

UPDATE blog_tagging bt
	SET tag= t.tag_name
	FROM tbl_tags t
	WHERE bt.tag = t.tag_name

ЖИЧ: pgSQL UPDATE JOIN нэмэв.

Advertisements

PostgreSQL суулгасны дараа root (postgre) нууц үг солих нь

Би Ubuntu дээр шинэков хүн. Найзынхаа зөвлөснөөр apt-get -ээр postgresql-8.4 суулгав. Тэгээд PSQL комманд ашиглан датабаз руугаа орох гэсэн чинь орж чаддаггүй. Тэгээд default нууц үг байдаг юм байх гэж бодоод интернэтээс хайсан чинь тийм юм байдаггүй. Харин postgresql-д зориулсан системийн хэрэглэгчийг нь ашиглан нууц үгийг нь сольж болдог юм байна гэдийг мэдлээ.

  1. postgres” гэх system хэрэглэгчээр нэвтрэн орно. PostgreSQL нь систем дээр суух үед энэ system user автоматаар үүснэ. Хэрэв “postgres” болоход нууц үг асууж байгаа бол sudo su гэж root болж байгаад нууц үгийг нь солино.
  2. Postgres” систем хэрэглэгч болсоны дараа postgresql датабаз (PSQL) руу нэвтрэн орно. Ийн нэвтрэн ороход “postgres” нь postgresql-д зориулсан систем хэрэглэгч тул нууц үг асуухгүй.
  3. Postgresql-ийн датабаз хэрэглэгч (database user) болох “postgres“-гийн нууц үгийг сольно. (Дахиад л postgres, гэхдээ энэ бол датабаз хэрэглэгч, адилхан нэртэй, PostgreSQL-н root хэрэглэгч гэсэн үг.)
  4. Postgresql-(PSQL)-ээс гараад, postgres (su postgres) хэрэглэгчээс гарна.
  5. PSQL коммындаыг ашиглан postgreSQL рүү нэвтрэн орж туршиж болно.

$ su postgres ( <- postgres болох )
$ psql -d template1 ( <- PostgreSQL рүү postgres систеийн хэрэглэгчээр нэвтрэх )
=# ALTER USER postgres WITH PASSWORD ‘ШинэНууцҮг’; ( <- Нууц үг солих )
=# \q (<- psql-ээс гарах)
$ exit (<- postgres системийн хэрэглэгчээс гарах)
$ psql -h localhost -U postgres ( <- PostgreSQL рүү postgres датабаз хэрэглэгчээр нэвтрэх)

Хэрэв postgres системийн хэрэглэгчийн нууц үг солих хэрэгтэй бол:

$ sudo passwd postgres

Дурын мөр SELECT хийх

MYSQL:

SELECT багана_нэр FROM хүснэгт_нэр ORDER BY RAND() LIMIT 10

Oracle:

SELECT багана_нэр FROM ( SELECT column FROM хүснэгт_нэр ORDER BY dbms_random.value ) WHERE rownum <= 10

PostgreSQL:

SELECT багана_нэр FROM хүснэгт_нэр ORDER BY RANDOM() LIMIT 10

MSSQL:

SELECT TOP 10 багана_нэр FROM хүснэгт_нэр ORDER BY NEWID()

Oracle жаахан тиймэрхүү, тэрнээс mysql, postgresql энэ тэр амархан байгааз, тэр mssql-н NEWID() функц нь 36-н урттай unique стринг generate хийдийн, ер нь бол стринг ID болгон хэрэглэдэг л дээ.

%d bloggers like this: