مشاوره و پشتیبانی #پایگاه داده #هوش تجاری

۷ مطلب با کلمه‌ی کلیدی «INSERT» ثبت شده است

عملگر IS Null و IS NOT NULL

توجه داشته باشید بسیاری از کاربران مقدار NULL را با فضای خالی Space)، 0) و یا کلمه NULL (به صورت رشته ای) اشتباه می‌گیرند، در واقع در بانک اطلاعاتی به مقدار فیلدی NULL گفته می‌شود که در هنگام وارد کردن رکورد‌ها مقدار آن فیلد توسط کاربر خالی رها شود. برای مثال از جدول PERSON استفاده می‌کنیم.

نکته: برای پیدا کردن فیلدهای NULL در دیتابیس باید به طور مشخص از دستور IS NULL استفاده می‌شود.

CREATE TABLE HOLO(ID NUMBER, NAME VARCHAR2(20));
INSERT INTO HOLO VALUES(1, NULL);
INSERT INTO HOLO VALUES(2, 'MAHDI');
SELECT * FROM HOLO WHERE NAME IS NULL;
ID        NAME
--------- ---------------
1

IS NOT NULL

عملگر NOT، می‌تواند با IS NULL همراه گردد. دستور IS NOT NULL بر عکس دستور IS NULL عمل می‌کند، و داده‌هایی را به شما نشان می‌دهد که مقدار آن‌ها NULL نباشد. به مثال زیر توجه کنید.

SELECT * FROM HOLO WHERE NAME IS NOT NULL;
ID             NAME
-------------- --------
2 MAHDI

نکته: کوئری‌هایی مانند زیر در دیتابیس اوراکل اشتباه‌اند:

SELECT * FROM HOLO WHERER NAME = NULL;
۳۰ فروردين ۹۴ ، ۱۴:۰۰ ۰ نظر موافقین ۰
مهدی غفاری

دستور DEFAULT

دستور CREATE را در زیر مشاهده کنید. در این دستور مقدار 222 پیش فرض فیلد ID می‌باشد. پیش فرض به معنای آن است که هرگاه مقداری برای فیلد ID تعین نشد مقدار پیش فرض تعریف شده، در فیلد قرار می‌گیرد.

CREATE TABLE D1(ID NUMBER DEFAULT 222);

برای تغییر ساختار جدول به شکل زیر عمل می‌کنیم:

ALTER TABLE D1 ADD NAME VARCHAR2(20);
INSERT INTO D1(NAME) VALUES('MAHDI');
SELECT * FROM D1;
ID NAME
--------- -------------
222 MAHDI
INSERT INTO D1(ID, NAME) VALUES(NULL, 'MAHDI');
SELECT * FROM D1;
ID NAME
--------- -------------
222 MAHDI
MAHDI

نکته: توجه کنید حتی اگه ID رو NULL رد کنیم (به هر شکل) مقدار DEFAULT اعمال نمی‌شه و فقط زمانی مقدار DEFAULT اعمال میشه که در دستور INSERT فیلد ما ID حظور نداشته باشد.

۲۹ فروردين ۹۴ ، ۱۰:۱۱ ۰ نظر موافقین ۰
مهدی غفاری

قاعده کلید یکتا (UNIQUE)

به هر فیلدی که مقدار تکراری را قبول نکند، کلید یکتا گفته می‌شود. این کلید در مواردی مثل شماره شناسنامه یا کد ملی که هر فردی شماره‌ای مخصوص به خود دارد، کاربرد فراوان دارد. در یک جدول می‌توان بیش از یک فیلد را، به عنوان کلید یکتا برگزید. این قاعده را با عبارت UNIQUE تعریف می‌کنند. در دستور زیر نحوه‌ی استفاده از دستور UNIQUE را مشاهده می‌کنید.

مثال۱:

CREATE TABLE TEST
(ID NUMBER UNIQUE,
TELL NUMBER DEFAULT 22222,
ADDRESS VARCHAR2(10));

ادامه مطلب...
۲۹ فروردين ۹۴ ، ۰۱:۳۸ ۰ نظر موافقین ۰
مهدی غفاری

قاعده کلید خارجی

کلید خارجی در حقیقت ممانعت می‌کنه از ایجاد اشکال منطقی (به عنوان مثال: ممانعت می‌کنه از اینکه ما بتوانیم id ای در سطح جدول person وارد کنیم که refrence آن در جدول info نباشه):

در حالتی که کلید خارجی را تعریف می‌کنیم تعریف نوع DATATYPE فیلد وابسته نیازی نیست:

نکته: جدول نمی‌تواند ۲ تا PRIMARY KEY داشته باشد و با ایجاد کلید خارجی ما در حقیقت به صورت پیش‌فرض به کلید اصلی آن جدول لینک می‌شویم اگر می‌خواهید به فیلد خاصی از جدول مرجع فیلد را لینک کنید نام فیلد مربوطه را در داخل پرانتز می‌نویسیم.

ادامه مطلب...
۲۸ فروردين ۹۴ ، ۲۰:۲۹ ۰ نظر موافقین ۰
مهدی غفاری

زبان SQL - قسمت دوم

ساخت جدول

دستور زیر جدولی به اسم PERSON با فیلدهای ID, NAME, AGE با نوع‌های مشخص ایجاد می‌کند(ID, AGE اطلاعات عددی نگه‌می‌دارن و NAME اطلاعات رشته‌ای، همچنین این جدول در یوزر MGHAFFARI ساخته شده است):

SQL> CREATE TABLE PERSON(ID NUMBER, NAME VARCHAR2(20), AGE NUMBER);

Table created.
SQL> show user;
USER is "MGHAFFARI"

ورود اطلاعات

برای ورود اطلاعات از دستور INSERT به شکل زیر استفاده می‌کنیم:

SQL> INSERT INTO PERSON(ID, NAME, AGE) VALUES(1, 'MAHDI', 21);

1 row created.

SQL> INSERT INTO PERSON(ID, NAME, AGE) VALUES(2, 'EHSAN', 22);

1 row created.

SQL> INSERT INTO PERSON(ID, NAME, AGE) VALUES(3, 'FARZAD', 25);

1 row created.

برای نمایش اطلاعات از دستور SELECT استفاده می‌کنیم:

SQL> SELECT * FROM PERSON;

ID NAME AGE
---------- -------------------- ----------
1 MAHDI 21
1 EHSAN 22
1 MAHDI 21
2 EHSAN 22
3 FARZAD 25

نکته: حتما بعد از INSERT اطلاعات عمل COMMIT را انجام دهید وگرنه TRANSACTION بعد از بستن محیط یا هر اتفاقی ROLLBACK میشه.

نکته: برای دستورات CREATE نیازی به COMMIT نیست و فقط برای دستوراتی که مستقیماً با DATA طرف هستند و درج یا آپدیتی انجام می‌دهند باید عمل COMMIT صورت گیرد.

نکته: MGHAFFARI تا قبل از ایجاد جدول و ورود داده فقط یوزر بود ولی بعد از ایجاد جدول و ورود داده SCHEMA شد.

اگر بخواهیم از یوزر دیگری به جداول یوزر دیگر دسترسی داشته باشیم به شکل کلی زیر عمل می‌کنیم:

SELECT * FROM SCHEMA_NAME.OBJECT_NAME;

به عنوان مثال برای SELECT PERSON از یوزر SYSTEM به صورت زیر عمل می‌کنیم:

SQL> connect system;
Enter password:
Connected.
SQL> SELECT * FROM MGHAFFARI.PERSON; ID NAME AGE
---------- -------------------- ----------
1 MAHDI 21
1 EHSAN 22
1 MAHDI 21
2 EHSAN 22
3 FARZAD 25

ادامه مطلب...
۲۱ فروردين ۹۴ ، ۱۱:۲۱ ۰ نظر موافقین ۰
مهدی غفاری

دستورات کنسولی محیط SQLPlus - قسمت دوم

شما در محیط SQL Plus می‌توانید از دستوراتی به جز دستورات SQL استفاده نمایید. این دستورات را محیط SQL Plus در اختیار شما قرار داده‌است.

دستور PROMPT برای نمایش یک متن در خروجی استفاده می‌شود.

SQL> PROMPT SALAM
SALAM

دستور SET TIME ON باعث می‌شود تا در خط فرمان شما زمان جاری سیستم اضافه گردد.

SQL> SET TIME ON;
05:45:39 SQL>
05:45:45 SQL>

دستور SET TIME OFF باعث می‌شود تا خط فرمان شما به حالت اولیه باز گردد (حالتی که زمان جاری سیستم نمایش داده نمی‌شود).

05:45:45 SQL> SET TIME OFF;
SQL>
SQL>

ادامه مطلب...
۱۸ فروردين ۹۴ ، ۲۰:۲۸ ۰ نظر موافقین ۰
مهدی غفاری

دستورات کنسولی محیط SQLPlus - قسمت اول

در محیط CMD وارد نرم‌افزار SQLPLUS می‌شیم.

sqlplus

قویترین کاربری که در سطح بانک‌اطلاعاتی اوراکل داریم SYS است.

تعویض پسورد

برای تعویض پسورد توسط خود یوزر در بانک‌اطلاعاتی:

set password  

یا در ورژن‌های جدید اوراکل:

password

مسئله حق مالکیت

ما با ۲ نوع یوزر موقع نصب اوراکل آشنا شدیم، به تصویر زیر دقت کنید:

تصویر فوق نشان می‌دهد که مالک RDBMS کاربر Oracle است (در قسمت بالا معرفی نمودیم)

در سلسله مراتب قدرت کاربر ، کاربر sys و سپس system قرار دارند و پس از آنها کاربرانی که تعریف می‌نماییم.

ادامه مطلب...
۱۴ فروردين ۹۴ ، ۲۰:۱۴ ۰ نظر موافقین ۰
مهدی غفاری