[সঙ্গীত বাজাচ্ছি] ডগ লয়েড: আমাদের ভিডিও ওয়েব ডেভেলপমেন্ট বিষয়ের উপর, আমরা ধারণা উল্লেখ করেছি সঠিক একটি ডাটাবেস কয়েক বার,? সুতরাং একটি ডাটাবেস আপনি আছেন থেকে সঙ্গে সম্ভবত পরিচিত মাইক্রোসফট এক্সেল ব্যবহার করে বলে অথবা Google স্প্রেডশীট. এটা সত্যিই একটা সংগঠিত হচ্ছে টেবিল, সারি, এবং কলাম সেট. এবং একটি ডাটাবেস যেখানে হয় আমাদের ওয়েবসাইটে দোকান গুরুত্বপূর্ণ যে তথ্য আমাদের ওয়েব সাইটের জন্য সঠিকভাবে কাজ করার জন্য. আবার, সত্যিই একটি সাধারণ উদাহরণ এখানে ব্যবহারকারীর নাম ও পাসওয়ার্ড সংরক্ষণ করা হয় একটি ডাটাবেসের মধ্যে, তাই যখন যে আমাদের ওয়েবসাইটে একটি ব্যবহারকারী লগ, ডাটাবেস দেখতে অনুসন্ধান করা যাবে যে ব্যবহারকারী ডাটাবেসের মধ্যে উপস্থিত থাকলে. তারা যদি, যে পরীক্ষণ তাদের পাসওয়ার্ড সঠিক. এবং তাদের পাসওয়ার্ড যদি সঠিক হয়, তারপর আমরা যাই হোক না কেন পৃষ্ঠা তাদের দিতে পারেন তারা চাইছে করছি. তাই আপনি আবার সম্ভবত, পরিচিত এক্সেল বা গুগল থেকে এই ধারণা নিয়ে স্প্রেডশীট. আমরা ডাটাবেস আছে, টেবিল, সারি, এবং কলাম. এবং যে সত্যিই সাজানোর মৌলিক সেট এখানে হায়ারারকিকাল ভাঙনের. তাই এখানে একটি এক্সেল স্প্রেডশীট এর. আর আপনি কি এই খোলা থাকেন তাহলে বা অন্য অনুরূপ প্রোগ্রাম আপনি এই সব এখানে যে জানেন rows-- 1, 2, 3, 4, 5, 6, 7. এই কলাম হয়. হয়তো এখানে নিচে, আপনি সঠিক হলেও ভয়ঙ্কর much-- এই বৈশিষ্ট্য ব্যবহার করবেন আমি মনে করি আমরা আছে in-- জুম করব একটি চাদর এই ধারণা. তাই হয়তো এই চাদর, তাহলে আমি আগে পিছে বিকল্প বিভিন্ন টেবিল আছে আমার ডাটাবেসের মধ্যে উপস্থিত. আর আমরা যেমন সব অবিরত যদি পথ, এই ডাটাবেসের নাম বইয়ের 1 হয়. হয়তো আমি বুক 2 ও বুক 3 আছে. সুতরাং প্রতিটি এক্সেল ফাইল একটি ডাটাবেস, প্রতিটি শীট একটি টেবিল, এবং প্রতিটি টেবিলের ভিতরে আমি আছে সারি এবং কলাম এই ধারণা. সুতরাং কিভাবে আমি এই ডাটাবেস সঙ্গে কাজ করে? আমি কিভাবে এটা থেকে তথ্য পেতে পারি? ওয়েল নামে একটি ভাষা আছে SQL-- আমি সাধারণত শুধু Sequel-- কল যা এবং এটা ঘোরা স্ট্রাকচার্ড ক্যোয়ারী ল্যাঙ্গুয়েজ. এবং এটি একটি প্রোগ্রামিং ভাষা, কিন্তু এটা একটা মোটামুটি সীমাবদ্ধ প্রোগ্রামিং এর ভাষা. এটা বেশ অন্যদের মত নয় যে আমরা সঙ্গে কাজ করেছি. কিন্তু এই উদ্দেশ্য জান্ত্রিক ভাষা যাও, একটি ডাটাবেস অনুসন্ধান করা হয় একটি ডাটাবেসের তথ্য জিজ্ঞাসা, একটি তথ্য অনুসন্ধান ডাটাবেস, এবং তাই. আমরা, CS50 মধ্যে এবং এটি একটি খুব আছে সাধারণ প্ল্যাটফর্ম, এটা মাইএসকিউএল বলা হচ্ছে. যে আমরা কোর্সে ব্যবহার করা হয়. এটি একটি ওপেন সোর্স স্থাপন করা হয় যে প্ল্যাটফর্ম একটি তথাকথিত রিলেশনাল ডাটাবেস একটি ডাটাবেস, কার্যকরভাবে. আমরা পেতে প্রয়োজন হবে না খুব বেশী বিস্তারিত কি একটি রিলেশনাল ডাটাবেস. কিন্তু এসকিউএল ভাষা কাজ খুব জ্ঞানী মাইএসকিউএল এবং অনুরূপ অপরের সাথে রিলেশনাল ডাটাবেস শৈলীর. এবং বহু ইনস্টলেশনের কিছু মাইএসকিউএল আসা বলা পিএইচপি মাই এডমিন, যা একটি গ্রাফিকাল ইউজার হয় একটি GUI-- interface-- যে এটা একটু বেশি করে তোলে চালানো বন্ধুত্বপূর্ণ ইউজার ডাটাবেস প্রশ্নের, উপাত্ত মাত্র ব্যবহার করা হয় না, কারণ উন্নত প্রোগ্রামারদের দ্বারা সঠিক? কখনও কখনও আছে এই ছোট ব্যবসার, এবং তারা আমার সাধ্যের বাইরে প্রোগ্রামারদের একটি দল ভাড়া, কিন্তু তারা এখনও ধারণ করার প্রয়োজন একটি ডাটাবেসের মধ্যে তথ্য. পিএইচপি মাই এডমিন ভালো কিছু কারো জন্য এটা খুবই সহজ করে তোলে যারা আগে প্রোগ্রাম আগে কখনো ছিল না কুড়ান এবং কিভাবে সাথে পরিচিত হয়ে নিন একটি ডাটাবেসের সাথে কাজ করতে. সমস্যা যখন, পিএইচপি মাই এডমিন হয় এটা শেখার জন্য একটি চমত্কার হাতিয়ার উপাত্ত সম্পর্কে, এটা ম্যানুয়াল হয়. আপনি লগ ইন করতে হবে চলুন এটা এবং কমান্ড এবং টাইপ চালানো নিজে কিছু. আর আমরা থেকে জানি আমাদের পিএইচপি ওয়েব প্রোগ্রামিং উপর উদাহরণস্বরূপ, নিজে না থাকার আমাদের ওয়েবসাইটে কিছু আমরা একটি গতিশীল, সক্রিয় প্রতিক্রিয়াশীল চান ওয়েবসাইট, সম্ভবত না ভাল পদ্ধতির. আমরা একটি উপায় খুঁজে বের করতে চাই সম্ভবত একরকম এই স্বয়ংক্রিয়. এবং এসকিউএল এই কাজ করতে সক্ষম হবে. সুতরাং যখন আমরা চলুন এসকিউএল সাথে কাজ শুরু, আমরা প্রথমে একটি থাকতে হবে ডাটাবেসের সঙ্গে কাজ করার. একটি ডাটাবেস তৈরি কিছু আপনি সম্ভবত কারণ, পিএইচপি মাই এডমিন কি করব আপনি কেবল একবার এটি করতে হবে এবং সেটা করার জন্য সিনট্যাক্স আরো অনেক সহজবোধ্য. এটা কি অনেক সহজ একটি গ্রাফিকাল ইউজার ইন্টারফেস মধ্যে একটি কমান্ড হিসাবে এটি টাইপ করার চেয়ে. কমান্ড একটু কষ্টকর পেতে পারেন. একইভাবে, একটি টেবিল তৈরি করতে পারেন পাশাপাশি কষ্টকর বেশ বিট পেতে. একটি ডাটাবেস তৈরি করতে চাই এবং তাই কিছু এবং আপনি আছেন, যা একটি টেবিল, তৈরি সম্ভবত শুধুমাত্র once-- করতে যাচ্ছে টেবিল প্রতি একবার, একবার ডাটাবেস প্রতি এটা যে কি ঠিক আছে গ্রাফিক্যাল ইন্টারফেস. পদ্ধতিতে একটি টেবিল আপনি পাবেন তৈরি এছাড়াও সব উল্লেখ আছে যে টেবিলের হবে কলাম. তথ্য কিরুপ না আপনি টেবিলের এ সঞ্চয় করতে চান? হয়তো একটি ব্যবহারকারীর নাম এবং জন্ম তারিখ, পাসওয়ার্ড, ইউজার আইডি নম্বর, এবং হয়ত শহর এবং রাজ্য, ডান? এবং প্রত্যেক সময় জন্য আমরা একটি ব্যবহারকারী যোগ করতে চান ডাটাবেসে, সকলে ছয় পেতে চান তথ্য ঐ টুকরা. আর আমরা যুক্ত করে যে কি টেবিল থেকে সারি. তাই আমরা প্রথম একটি ডাটাবেস তৈরি, তারপর আমরা একটি টেবিল তৈরি. তৈরি অংশ হিসেবে একটা টেবিল, আমরা জিজ্ঞাসা করা হয় প্রতিটি কলামের উল্লেখ করতে যে আমরা এই টেবিলে চাই. এবং তারপর আমরা শুরু হিসেবে যোগ করতে ডাটাবেসের তথ্য এবং ডাটাবেস আরো প্রশ্ন সাধারণভাবে শুধু যোগ না, কিন্তু অন্য সব কিছুর আমরা do-- আমরা ডিল করা হবে এক টেবিল, যা সারি সমগ্র সেট থেকে ব্যবহারকারীর তথ্য. তাই প্রত্যেক এসকিউএল কলামের সক্ষম একটি নির্দিষ্ট ডাটা টাইপ ডাটা ধারণ. তাই আমরা এই ধরণের কাটানো পিএইচপি ডাটা ধরনের ধারণা, কিন্তু তারা এসকিউএল ফিরে এখানে আছেন. এবং তথ্য ধরনের একটি অনেক আছে. এখানে তাদের মাত্র 20, কিন্তু এটা এমনকি তাদের সব না. সুতরাং আমরা INTs-- মত ধারনা আছে আমরা সম্ভবত জানি ইন্টিজার যে এই কলামের পূর্ণসংখ্যার ধরে রাখতে পারেন. এবং বৈচিত্র আছে thereon-- SMALLINT, TINYINT, MEDIUMINT, BIGINT. হয়তো আমরা সবসময় চার কামড় প্রয়োজন হবে না. হয়তো আমরা আট বাইট প্রয়োজন, এবং তাই আমরা পূর্ণসংখ্যার এই বৈচিত্র ব্যবহার করতে পারেন একটি বিট আরো স্থান দক্ষ হতে. আমরা দশমিক সংখ্যা নির্বাচন করতে পারবেন আমরা পয়েন্ট সংখ্যা ভাসমান করতে পারেন. এই প্রশংসনীয় অনুরূপ. কিছু পার্থক্য আছে, এবং আপনি করে থাকেন তাহলে সন্ধান করতে চান সহায়িকার এসকিউএল সাজান, আপনি দেখতে পারেন কি সামান্য তাদের মধ্যে পার্থক্য আছে. হয়তো আমরা সঞ্চয় করতে চান তারিখ এবং সময় সম্পর্কে তথ্য. হয়তো আমরা অবগত থাকার করছি ব্যবহারকারী আমাদের ওয়েবসাইটে যোগদান করেছে, এবং তাই হয়তো আমরা চাই যে একটি কলামে আছে একটি তারিখ সময় বা টাইমস্ট্যাম্প যে যখন ব্যবহারকারী আসলে ইঙ্গিত সাইন আপ. আমরা জ্যামিতির এবং linestrings করতে পারেন. আসলে এই চমত্কার হয়. আমরা একটি ম্যাপ আউট পারে ভৌগলিক এলাকা জিআইএস একটি এলাকা প্লট স্থানাঙ্ক. তাই আসলে যে সাজান সংরক্ষণ করতে পারেন একটি এসকিউএল কলামে তথ্য. লেখা হয়তো, শুধু লেখার জায়ান্ট ব্লব হয়. Enums ধরনের আকর্ষণীয়. তারা আসলে সি অস্তিত্ব আমরা না তারা না হন, কারণ তাদের সম্পর্কে কথা ভয়ঙ্কর সাধারণভাবে অন্তত CS50, ব্যবহৃত. কিন্তু এটি একটি গণিত ডাটা টাইপ, যা সীমিত মান ধারণ করতে সক্ষম. সত্যিই একটি ভাল উদাহরণ এখানে হবে একটি ENUM তৈরি করতে যেখানে সাত সম্ভাব্য মান, রবিবার, সোমবার মঙ্গলবার, বুধবার, বৃহস্পতিবার, শুক্রবার, শনিবার, ডান? যে ডাটা টাইপ ডে সপ্তাহ, তার কোন অস্তিত্ব নেই কিন্তু আমরা একটি তৈরি করতে পারি গণিত ডাটা টাইপ যেমন যে কলাম শুধুমাত্র কখনও ধরে রাখতে পারেন ঐ সাত সম্ভাব্য মান এক. আমরা সব গণিত করেছি সম্ভাব্য মান. তারপর আমরা গৃহস্থালি এবং VARCHAR আছে, এবং আমি এই সবুজ রঙ করেছি আমরা আসলে করছি কারণ একটি দ্বিতীয় নিতে যাচ্ছে পার্থক্য সম্পর্কে কথা বলার জন্য এই দুটি জিনিসের মধ্যে. তাই গৃহস্থালি, অসদৃশ সি যেখানে চর একটি একক চরিত্র ছিল, এসকিউএল একটি গৃহস্থালি বোঝায় একটি নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং. আর আমরা এই তৈরি করার সময় কলাম, আমরা আসলে স্ট্রিং এর দৈর্ঘ্য নির্ধারণ করা যেতে পারে. এই উদাহরনে, আমরা গৃহস্থালি (10) বলতে পারে. যে ভাষার যে মানে যে কলামের উপাদান তথ্য 10 বাইট গঠিত হবে. কোন কোন আরো কম. আমরা চেষ্টা এবং একটি 15 রাখা যদি তাই বিট বা 15 অক্ষর উপাদান বা এই কলামের মধ্যে মান, আমরা শুধুমাত্র প্রথম 10 পেতে করছি. আমরা দুই রাখা যদি অক্ষর দীর্ঘ মান, আমরা দুই আছে চলুন অক্ষর, এবং তারপর আট নাল কামড়. আমরা যে বেশী কার্যকরী হবে না. একটি VARCHAR ধরনের ভালো হয় একটি স্ট্রিং আমাদের ধারণা আমরা পরিচিত যে সি থেকে বা পিএইচপি থেকে সঙ্গে. এটি একটি পরিবর্তনশীল দৈর্ঘ্য স্ট্রিং এর. এবং আপনার তৈরি করা হলে এই কলামে, আপনি শুধু সর্বোচ্চ সম্ভব লেন্থ উল্লেখ করুন. তাই হয়তো 99, বা সাধারণভাবে 255. যে সর্বোচ্চ দৈর্ঘ্য হবে. আর যদি তাই আমরা সংরক্ষণ করা হয় 15 পংক্তি, আমরা হয়তো, 16 15 বাইট ব্যবহার হবে নাল টারমিনেটর জন্য বাইট. আমরা সংরক্ষণ করা হয় তাহলে একটি তিনটি পংক্তি, আমরা তিন বা চার বাইট ব্যবহার করবে. কিন্তু আমরা পূর্ণ 99 ব্যবহার করা হবে না. তাই কেন আমরা উভয় হবে? ওয়েল, আমরা কিভাবে চিন্তা করতে হবে তাহলে দীর্ঘ কিছু একটি VARCHAR সাথে হয়, আমরা বারবার ধরনের আছে এটা ঠিক মত জুড়ে আমরা সি করেনি যেখানে এটি স্টপ এবং জিনিসটা. আমরা সবকিছু জানি যে যদি যেহেতু এই কলামে হয়তো, 10 বাইট আমরা যে তথ্য জানেন, আমরা তিড়িং লাফ পারেন 10 বাইট, 10 বাইট, 10 বাইট, 10 বাইট, এবং সবসময় এটি স্ট্রিং শুরুতে. তাই আমরা কিছু থাকতে পারে একটি গৃহস্থালি সঙ্গে স্থান নষ্ট, কিন্তু হয়তো একটি ট্রেড আছে ভাল গতি থাকার বন্ধ ডাটাবেস নেভিগেট. কিন্তু হয়তো আমরা চাই একটি VARCHAR নমনীয়তা পরিবর্তে having-- আমাদের গৃহস্থালি তাহলে এর 255 ছিল, কিন্তু আমাদের ব্যবহারকারীদের অধিকাংশ মাত্র তিন বা চার বাইট inputting হয়েছে তথ্য বা তিন বা চার মূল্য তথ্য মূল্য অক্ষর. কিন্তু কিছু ব্যবহারকারী ব্যবহার করা হয়েছে পুরো 255, হয়তো VARCHAR আছে আরো উপযুক্ত হতে হবে. এটা একটা সম্পর্ক কতকাংশে, এবং সাধারণত CS50 এর উদ্দেশ্যে, আপনার সম্পর্কে খুব বেশী চিন্তা করতে হবে না আপনি একটি গৃহস্থালি বা VARCHAR ব্যবহার কিনা. কিন্তু বাস্তব জগতে, এই জিনিস এই কলাম সব কারণ কোন ব্যাপার না প্রকৃত শারীরিক জায়গা নিয়ে. এ আর প্রকৃত স্থান, বাস্তব জগতে, একটি প্রিমিয়াম আসে. এক অন্য বিবেচনায় তাই যখন আপনি একটি টেবিল নির্মাণ করছেন হতে একটি কলাম নিতে হয় কি একটি প্রাথমিক কী বলা হচ্ছে. এবং একটি প্রাথমিক কী একটি কলাম যেখানে প্রতিটি মান অনন্য. এবং যে যে আপনি সহজেই করতে পারেন এর মানে শুধু খুঁজছি দ্বারা একটি একক সারি বাছাই আউট যে সারির প্রাথমিক কী এ. সুতরাং উদাহরণস্বরূপ, যদি আপনি সাধারণত, ব্যবহারকারীদের সাথে, দুই ব্যবহারকারীদের চান না, তারা একই ইউজার আইডি নম্বর আছে. আর তাই হয়ত আপনি আছে তথ্য প্রচুর, এবং হয়তো দুই ব্যবহারকারীদের পারেন একই name-- আছে আপনি জন স্মিথ এবং জন স্মিথ আছে. যে, অগত্যা একটা সমস্যা না একাধিক মানুষ আছে, কারণ জন স্মিথ নামে বিশ্বের. কিন্তু আমরা কেবল এক ব্যবহারকারীর আইডি নম্বর আছে 10, এক ব্যবহারকারীর আইডি নম্বর 11, 12, 13. আমরা দুই ব্যবহারকারীদের হবে না একই সংখ্যা সহ, এবং তাই হয়তো ইউজার আইডি নম্বর একটি ভাল প্রাথমিক কী হবে. আমরা কোনো অনুলিপি আছে না, এবং আমরা এখন স্বতন্ত্র পারেন শুধু প্রতি একক সারি চিহ্নিত যে কলাম এ খুঁজছেন দ্বারা. আসলে প্রাথমিক কী করতে পারেন নির্বাচন পরবর্তী টেবিল অপারেশন করতে আপনি লিভারেজ করতে পারেন, কারণ অনেক সহজ আসলে যে নির্দিষ্ট সারি হবে অনন্য, বা একটি নির্দিষ্ট কলাম হতে আপনার ডাটাবেস অথবা টেবিল বাছাই অনন্য হতে হবে আউট বিশেষ সারি. এছাড়াও আপনি একটি যৌথ প্রাথমিক থাকতে পারে আপনি অনুষ্ঠানে খুঁজে পেতে পারেন, যা কী মাত্র, যা ব্যবহার করা দুই কলাম সমন্বয় যে অনন্য হতে নিশ্চিত করা হয়. তাই হয়তো আপনি এক আছে হিসাবে এবং Bs যে কলাম, দুই, এক যে একটি কলাম, এবং তিন, কিন্তু আপনি কেবল কখনও করতে হবে একটি একক ক 1, একটি একক আছে , এবং তাই এবং তাই, A2. কিন্তু আপনি একটি B2 থাকতে পারে, একটি C2, অথবা একটি ক 1, a2, a3, A4. সুতরাং আপনি একাধিক হিসাবে, একাধিক থাকতে পারে BS, একাধিক বেশী, একাধিক দুই দুই, কিন্তু আপনি কেবল কখনও একটি থাকতে পারে একক ক 1, B2, C3, এবং তাই. তাই আমি আগেই বলেছি, এসকিউএল একটি জান্ত্রিক ভাষা, কিন্তু এটা একটা মোটামুটি সীমিত শব্দভান্ডার আছে. এটা হিসাবে বেশ অকপট না সি এবং পিএইচপি এবং অন্যান্য ভাষায় আমরা অবশ্যই এ কথা বলা. এটা আরো বাগাড়ম্বরপূর্ণ একটি হল আমরা করছি কি আর ভাষা এই বিষয়ে কথা বলতে যাচ্ছেন ভিডিও, কারণ এই ভিডিওতে আমরা সম্পর্কে কথা বলতে যাচ্ছেন চার অপারেশন আমরা যে একটি টেবিলের উপর সম্পাদন করতে পারবেন. এই তুলনায় আরো আছে. আমরা, এই চেয়ে বেশি করতে পারেন কিন্তু আমাদের কাজের জন্য, আমরা সাধারণত ব্যবহার করা চলুন মাত্র চার operations-- ঢোকান, , নির্বাচন আপডেট, এবং মুছে দিন. এবং সম্ভবত আপনি অনুমান করতে পারেন, intuitively এই জিনিস সব চার কি. কিন্তু আমরা সেটা একটু যাব প্রতিটি এক বিস্তারিত. এই কাজের জন্য তাই ভিডিও, এর অনুমান করা যাক আমরা দুই নিম্নলিখিত আছে একটি একক ডাটাবেসের মধ্যে টেবিল. আমরা যে একটি টেবিল বলা ব্যবহারকারীরা আছে চার columns-- আইডি নম্বর, ব্যবহারকারীর নাম, পাসওয়ার্ড, এবং পুরো নাম. আর আমরা একটি দ্বিতীয় আছে একই ডাটাবেসের মধ্যে টেবিল শুধু তথ্য সঞ্চয় করে যে Moms বলা একটি ব্যবহারকারীর নাম এবং একটি মা সম্পর্কে. উদাহরণ সব জন্য তাই এই ভিডিওতে, আমরা করব এই ডাটাবেস ব্যবহার করা এবং এটা পরবর্তী আপডেট. সুতরাং আসুন আমরা সেটি যাক একটি টেবিল থেকে তথ্য যোগ করুন. যে সন্নিবেশ অপারেশন আছে কি. সব ব্যাখ্যায় এই কমান্ড, আমি যাচ্ছি আপনি ব্যবহার করার জন্য একটি সাধারণ কঙ্কাল দিতে. মূলত, প্রশ্নের কারণ চেহারা সুন্দর অনুরূপ যাচ্ছি, আমরা শুধু পরিবর্তন করা চলুন তথ্য কিছুটা ভিন্ন টুকরা টেবিলের সাথে বিভিন্ন কিছু করার. সন্নিবেশ জন্য, কঙ্কাল তাই এই ধরনের মত দেখায়. আমরা মধ্যে সন্নিবেশ করতে চান একটি বিশেষ টেবিল. তারপর আমরা একটি খোলা বন্ধনী আছে এবং কলাম একটি তালিকা আমরা শুধুমাত্র মান লাগাতে চান যে. বন্ধ প্রথম বন্ধনী, মান অনুসরণ এবং তারপর আবার, আমরা মান আউট তালিকা আমরা টেবিলের লাগাতে চান. এই একটি উদাহরণ পালন করছেন. আমি টেবিল মধ্যে সন্নিবেশ করতে চান ব্যবহারকারী নিম্নলিখিত columns-- ব্যবহারকারীর নাম, পাসওয়ার্ড, এবং FullName. আমি নির্বাণ করছি যেখানে একটি নতুন সারি তাই আমরা করছি এবং যারা তিন কলামের মান রাখা যাচ্ছে নিউম্যান, USMAIL, এবং নিউম্যান. তাই এই ক্ষেত্রে, আমি আছি ছোট হাতের নিউম্যান নির্বাণ ব্যবহারকারীর নাম কলামের মধ্যে, পাসওয়ার্ড USMAIL, এবং পুরো নাম রাজধানী এন FullName কলামের মধ্যে নিউম্যান. সুতরাং এখানে কি ডাটাবেস আগে ভালো লাগছিল. এখানে কি ব্যবহারকারীদের টেবিলে থাকা উপরের এই করেনি আগে মত লাগছিল. আমরা এই চালানো পরে ক্যোয়ারী, আমরা এই পেতে. আমরা টেবিল থেকে একটি নতুন সারি যুক্ত করেছি. কিন্তু এই এক জিনিস লক্ষ্য আমি উল্লেখ করা হয়নি যে কিন্তু একরকম আমি একটি মান পেয়েছেন জন্য, ঠিক এই 12 যা হয়. আমি চেয়েছিলেন বলে করা হয়নি সেখানে আইডি নম্বর করা. আমি, ব্যবহারকারীর নাম লাগাতে চেয়েছিল পাসওয়ার্ড FullName. আর আমি যে সূক্ষ্ম, যে করেনি. কিন্তু আমি এই 12 পেয়েছিলাম. কেন আমি এই 12 পেতে হয়নি? ওয়েল, এটা দেখা যাচ্ছে যে যখন আপনি সংজ্ঞা হয় হতে যাচ্ছে একটি কলাম আপনার সাধারণত যা প্রাথমিক কী, ভালো আমি একটি আইডি নম্বর, বলেন. এটা সবসময় অগত্যা না একটি আইডি নম্বর হতে যাচ্ছে, কিন্তু এটা সাধারণত একটি ভাল ধারণা পূর্ণসংখ্যা মান কিছু বাছাই করা. আপনি phpMyAdmin একটি অপশন আছে যখন আপনি আপনার ডাটাবেস তৈরি করছি অথবা আপনার টেবিলের যে সেট অটো ইনক্রিমেন্ট করানোর কলাম. যা সত্যিই একটি ভাল ধারণা যখন হয় আপনি একটি প্রাথমিক চাবি সঙ্গে কাজ করছি, আপনি প্রতি মূল্য চান কারণ যে কলামে অনন্য হতে. এবং আপনি নির্দিষ্ট করতে ভুলে গেলে একাধিক ব্যক্তির জন্য এটা, আপনি এখন একটি অবস্থা যেখানে আছে যে কলাম আর অনন্য. আপনি দুটি খালি আছে, তাই আপনি কোন পারেন আর স্বতন্ত্র একটি column-- চিহ্নিত অথবা আপনি আর স্বতন্ত্র পারেন যে কলামের উপর ভিত্তি করে একটি সারিতে চিহ্নিত. এটা সব হারিয়ে গেছে তার প্রাথমিক কী হিসাবে মূল্য. আর তাই দৃশ্যত আমি যা করেছি তা এখানে ইউজার আইডি কনফিগার করা স্বয়ং বৃদ্ধি করতে কলামের প্রতি যাতে সময় আমি টেবিল থেকে তথ্য যোগ এটি স্বয়ংক্রিয়ভাবে আমাকে দিতে হবে প্রাথমিক কী জন্য একটি মান. তাই আমি, কারণ এটা করতে ভুলবেন না পারেন ডাটাবেস আমার জন্য এটা করতে হবে. সুতরাং যে ধরনের চমৎকার. আমরা পেতে কেন এবং যাতে সেখানে 12, আমি করেছি কারণ স্বয়ং বৃদ্ধি যে কলাম সেট আপ. আমি অন্য কারো যোগ করা হলে আমি যোগ করা হলে তা, 13 হতে চাই অন্য কেউ এটা তাই 14 হতে পারে, এবং চাই. তাই আসুন শুধু এক আরো সন্নিবেশ করতে দেওয়া. আমরা এ, Moms সারণিতে সন্নিবেশ করব বিশেষ করে, ব্যবহারকারীর নাম এবং মা কলাম, মান Kramer এবং Babs Kramer. আর তাই আমরা আগে এই ছিল. আমরা যে চালানো পরে SQL কোয়েরি, আমরা এই আছে. আমরা Kramer এবং Babs জুড়েছেন Moms টেবিলে Kramer. সুতরাং যে ঢোকাতে. নির্বাচন আমরা নিষ্কর্ষ ব্যবহার করি তা হল টেবিল থেকে তথ্য. তাই এই আমরা পেতে হয় ডাটাবেস থেকে তথ্য. আর তাই নির্বাচন কমান্ড হতে যাচ্ছে খুব ঘন ঘন প্রোগ্রামিং ব্যবহৃত. সাধারণ framework-- সাধারণ কঙ্কাল ভালো দেখায়. কলাম একটি সেট থেকে নির্বাচন করুন একটা টেবিল, এবং তারপর ঐচ্ছিকরূপে আপনি একটি অবস্থায় নির্দিষ্ট করতে পারেন বা আমরা সাধারণত একটি বিধেয় কি কল, সাধারণত আমরা এসকিউএল ব্যবহার শব্দ. কিন্তু এটা মূলত কি বিশেষ সারি আপনি পেতে চান. আপনি, পরিবর্তে পাবার চান সবকিছু, এটি আকার কমিয়ে আনতে আপনি যে কাজ করবে যেখানে এই হল. এবং তারপর বৈকল্পিকভাবে, আপনি যা করতে পারেন একটি নির্দিষ্ট কলাম দ্বারা অর্ডার. তাই হয়তো আপনি সাজানো জিনিষ করাতে চাই বর্ণানুক্রমে এক কলামের উপর ভিত্তি করে অথবা বর্ণানুক্রমে অন্য উপর ভিত্তি করে. আবার, আদেশ দ্বারা ঐচ্ছিক করা হয়, যেখানে. কিন্তু তারা সম্ভবত হবেন useful-- বিশেষ কোথায় জন্য উপযোগী হতে হবে আপনি না, তাই নিচে সংকীর্ণ ফিরে সম্পূর্ণ ডাটাবেসের পেতে এবং এটি প্রক্রিয়া আছে, আপনি শুধু পেতে এটা টুকরা আপনি যত্নশীল যে. সুতরাং উদাহরণস্বরূপ, আমি নির্বাচন করতে পারেন ব্যবহারকারীদের কাছ থেকে আইডি নম্বর এবং FullName. তাই কি এই মত চেহারা হতে পারে? তাই এখানে আমার ব্যবহারকারীদের টেবিল. আমি idnum নির্বাচন করতে চান এবং ব্যবহারকারীদের কাছ থেকে FullName. কি আমি পেতে যাচ্ছি? আমি এই পেতে যাচ্ছি. আমি এটি আকার কমিয়ে আনতে না, তাই আমি আছি প্রতিটি সারির জন্য আইডি নম্বর পেয়ে এবং আমি পুরো পেয়ে করছি প্রতি সারি থেকে নাম. ঠিক আছে. আমি পাসওয়ার্ড নির্বাচন করতে চান তাহলে WHERE-- তাই এখন ব্যবহারকারীদের কাছ থেকে আমি একটি শর্ত যোগ করছি, একটি predicate-- idnum কম 12 যেখানে. তাই এখানে আমার ডাটাবেস আবার, আমার ব্যবহারকারীদের টেবিলের উপরে. কি আমি করতে চান তাহলে পেতে যাচ্ছি যে তথ্য নির্বাচন, পাসওয়ার্ড, যেখানে ইউজার আইডি বা idnum 12 এর চেয়ে কম? আমি এই পেতে যাচ্ছি তথ্য ফিরে, ঠিক আছে? Idnum 10 যে এটা ঘটে, কম 12 বছরের কম, আইডি নম্বর 11 12 কম. আমি ঐ সারি জন্য পাসওয়ার্ড পেয়ে করছি. যে আমি জিজ্ঞাসা কি. এই সম্পর্কে কি? আমি থেকে তারকা নির্বাচন করতে চান তাহলে ব্যবহারকারীর নাম জেরি সমান যেখানে Moms টেবিল? ঠিক আছে, নির্বাচন তারা বিশেষ ওয়াইল্ড কার্ড নিয়ে সাজান তথাকথিত আমরা সবকিছু পেতে ব্যবহার. তাই তারা নির্বাচন বলছে কমা মা, ব্যবহারকারীর নাম, যা শুধুমাত্র হতে ঘটেছে এই টেবিলের দুই কলাম, আমি শুধু তারকা নির্বাচন করতে পারেন এবং সবকিছু পেতে যেখানে ব্যবহারকারীর নাম জেরি সমান. আর তাই যে আমি পেতে হবে কি আমি যে বিশেষ ক্যোয়ারী তৈরি করে. এখন, উপাত্ত আছে মহান তারা অনুমতি কারণ আমাদের সম্ভবত তথ্য সংগঠিত আমরা চেয়ে আরো দক্ষতার সঙ্গে একটি বিট অন্যথায় প্রতাপ. আমরা অগত্যা দোকান থেকে না তথ্য প্রতিটি প্রাসঙ্গিক টুকরা একই টেবিলে ব্যবহারকারীর ওপর. আমরা সেখানে দুই টেবিল ছিল. আমরা সংরক্ষণ করতে হবে সবাই এর মায়ের নাম, এবং হয়তো আমরা সামাজিক নিরাপত্তা না থাকে সংখ্যা, আমরা তাদের জন্ম তারিখ আছে. যে সবসময় প্রয়োজন হয় না একই টেবিলে হতে. যতদিন আমরা নির্ধারণ করতে পারবেন হিসাবে tables-- মধ্যে সম্পর্ক এবং যে যেখানে যে রিলেশনাল ডাটাবেস শব্দটি ধরনের আসে play-- যতদিন আমরা নির্ধারণ করতে পারবেন হিসাবে মধ্যে টেবিলের মধ্যে সম্পর্ক, আমরা ধরণের প্রকোষ্ঠবদ্ধ পারেন বা বিমূর্ত কিছু একটি উপায়, আমরা কেবল আছে যেখানে সত্যিই গুরুত্বপূর্ণ তথ্য আমরা ব্যবহারকারীর টেবিলের যত্নশীল. এবং তারপর আমরা আনুষঙ্গিক তথ্য আছে অন্যান্য টেবিল অথবা অতিরিক্ত তথ্য আমরা প্রধান ফিরে সংযোগ করতে পারেন যে একটি বিশেষ উপায়ে ব্যবহারকারীদের টেবিল. তাই আমরা এখানে এই দুই টেবিল আছে, কিন্তু তাদের মধ্যে একটি সম্পর্ক আছে, ঠিক আছে? এটা ব্যবহারকারীর নাম মত মনে হয় কিছু হতে পারে যে মধ্যে কমন বিদ্যমান এই দুটি ভিন্ন টেবিল. তাই কি আমরা এখন আছে একটি অবস্থা যেখানে আমরা থেকে একটি ব্যবহারকারীর সম্পূর্ণ নাম পেতে চান ব্যবহারকারীর টেবিল, এবং তাদের মায়ের মা টেবিল থেকে নাম? আমরা পেতে একটি উপায় আছে কি না এটা ঠিক আছে, যে যেমন আছে তেমনি? রয়েছে যে কোন একক টেবিল আছে পুরো নাম ও মাতার নাম উভয়. আমরা যে বিকল্প নেই আমরা এখন পর্যন্ত দেখা করেছি তা থেকে. আর তাই আমরা পরিচয় করিয়ে দিতে হবে যোগদান একটি ধারণা. আর যোগদান হয় সবচেয়ে complex-- এটা সত্যিই সবচেয়ে জটিল অপারেশন আমরা ভিডিওতে সম্পর্কে কথা বলতে যাচ্ছেন. তারা একটু জটিল আছেন কিন্তু আপনি তা পেতে আসে একবার, তারা আসলে খুব খারাপ না. এটা শুধু একটি নির্বাচন একটি বিশেষ ক্ষেত্রে. আমরা একটি সেট নির্বাচন করতে যাচ্ছেন যোগদান একটি টেবিল থেকে কলাম কিছু বিধেয় উপর একটি দ্বিতীয় টেবিলে. এটা আপাততঃ পছন্দ সম্পর্কে এই ক্ষেত্রে, মনে টেবিলের এক, এখানে উপর একটি বৃত্ত হয় টেবিলের দুটি এখানে উপর অন্য বৃত্ত. আর যে বিধেয় অংশ মাঝখানে, এটা সাজানোর আপনি যদি মনে করেন মত সম্পর্কে একটি ভেন ডায়াগ্রাম হিসাবে, কি তারা সাধারণ আছে না? আমরা এই দুই টেবিল লিঙ্ক করতে চান তারা কি একই রকম আছে এর উপর ভিত্তি করে এবং এই প্রকল্পিত টেবিল তৈরি যে একসঙ্গে দুটি একীভূত হয়. সুতরাং আমরা একটি এই দেখতে পাবেন উদাহরণস্বরূপ এবং হয়তো যে সাহায্য করব একটি সামান্য বিট এটা পরিষ্কার. তাই হয়তো আপনি নির্বাচন করতে চান user.fullname এবং moms.mother যোগদান ব্যবহারকারীদের কাছ থেকে প্রতি অবস্থায় Moms টেবিল যেখানে ব্যবহারকারীর নাম কলাম তাদের মধ্যে একই. আর এই একটি নতুন এখানে এই ব্যবহারকারীর সিনট্যাক্স. এবং Moms .. আমি একাধিক টেবিল কাজ করছি একসাথে, আমি একটা টেবিল নির্দিষ্ট করতে পারেন. আমি বিশেষ এ আলাদা করা যায় যে সেখানে খুব নীচে. আমি আপনার ব্যবহাকারীর নাম আলাদা করা যায় ব্যবহারকারীদের টেবিলের কলাম ব্যবহারকারীর নাম কলাম থেকে Moms টেবিল, otherwise-- যা আমরা শুধু ব্যবহারকারীর নাম সমান বলেন তাহলে সত্যিই না যে ব্যবহারকারীর নাম, কিছু মানে. আমরা তারা মেলে যেখানে এটি কাজ করতে চান. তাই আমি টেবিল ও উল্লেখ করা যাবে একটি পরিস্থিতির ক্ষেত্রে কলামের নাম যেখানে এটা স্পষ্ট হবে না আমি কি বিষয়ে কথা বলছি না. যে আমি করছি সব, তাই আমি আছি সেখানে এই টেবিল থেকে এই কলাম বলছে, এবং খুব স্পষ্ট হচ্ছে. তাই আবার, আমি নির্বাচন করছি পুরো নাম ও মাতার নাম একসাথে যুক্ত ব্যবহারকারীদের টেবিল থেকে প্রতি অবস্থায় Moms টেবিলের সাথে যেখানে তারা যে column-- শেয়ার তারা যে ইউজারনেম ধারণা শেয়ার. তাই আমরা এখানে আগে ছিল টেবিল হয়. এই রাষ্ট্র আমাদের ডাটাবেস এটা এই মুহূর্তে বিদ্যমান হিসাবে. আমরা আহরণের করছি তথ্য দিয়ে শুরু এই হল. এই আমরা চলুন নতুন টেবিল হয় একসঙ্গে এই মিশ্রন তৈরি করতে. আর আমরা হাইলাইট করছি না লক্ষ্য ব্যবহারকারীর টেবিলের নিউম্যান এর সারি, এবং আমরা হাইলাইট করছি না Moms টেবিলে Kramer এর সারি তন্ন তন্ন এক থাকার কারণে উভয় সারণিতে sets--. কমন যে শুধুমাত্র তথ্য তাদের মধ্যে জেরি উভয় টেবিলের মধ্যে হয় এবং gcostanza উভয় টেবিল হয়. আমরা কি তখন তাই এসকিউএল, যোগদান কি আমরা get-- এবং আমরা এই পেতে আসলে করছেন. এটি একটি অস্থায়ী পরিবর্তনশীল ধরণের. এটা একটি প্রকল্পিত মত দুই টেবিল মিল. আমরা আসলে কিছু পেতে এই মত, যেখানে আমরা টেবিল একসাথে মার্জ করেছি তারা সাধারণ আছে তথ্য. সুতরাং যে users.username লক্ষ্য এবং moms.username কলাম, এটা ঠিক একই. যে তথ্য ছিল যে ব্যবহারকারীদের কাছ থেকে সামঞ্জস্যপূর্ণ ছিল না টেবিল এবং টেবিল Moms. আর তাই আমরা তাদের একসঙ্গে মিশে গিয়ে তৈরি. আমরা Kramer, প্রত্যাখ্যাত কারণ তিনি ব্যবহারকারীদের টেবিলের অস্তিত্ব ছিল না, এবং এই কারণে আমরা, নিউম্যান প্রত্যাখ্যাত তিনি Moms টেবিলের অস্তিত্ব ছিল না. সুতরাং এই প্রকল্পিত সমবায় সিলেক্টের যোগদান অপারেশন ব্যবহার. এবং তারপর আমরা এ খুঁজছেন সেটা ব্যবহারকারীর সম্পূর্ণ নাম ও ব্যবহারকারীর মা, এবং তাই এই তথ্য যে আমরা সার্বিক ক্যোয়ারী থেকে পেতে চাই আমরা নির্বাচন দিয়ে তৈরি হয়. তাই আমরা একসাথে টেবিল যোগদান এবং আমরা যারা দুই কলাম নিষ্কাশিত, এবং যাতে আমরা পেতে হবে কি. কিন্তু SQL জটিল এক ধরনের যোগদান করে. আপনি সম্ভবত, তাদের খুব একটা কাজ করবে না কিন্তু শুধু কঙ্কাল কিছু ধারণা আছে আপনি দুটি একত্রীকরণ ব্যবহার করতে পারে আপনি প্রয়োজন একসাথে যদি টেবিল. গত দুই একটি একটু সহজ আমি প্রতিজ্ঞা করছি. তাই আপডেট, আমরা আপডেট ব্যবহার করতে পারেন একটি টেবিলের তথ্য পরিবর্তন করতে. সাধারণ ফরম্যাট আপডেটের কিছু টেবিল, কিছু মান কিছু সেট কলাম কিছু বিধেয় সন্তুষ্ট হয়. সুতরাং উদাহরণস্বরূপ, আমরা চাইতে পারেন ব্যবহারকারীদের টেবিল আপডেট করার জন্য এবং সাদা মাটা পাসওয়ার্ড সেট আইডি নম্বর 10, যেখানে সাদা মাটা,. তাই এই ক্ষেত্রে, আমরা করছি ব্যবহারকারীদের টেবিল আপডেট. আইডি নম্বর 10 সেখানে যে প্রথম সারিতে, এবং আমরা আপডেট করতে চান সাদা মাটা পাঠ্য পাসওয়ার্ড. আর তাই যে ঘটতে পারে কি. এটা ঠিক আছে, বেশ সহজবোধ্য? এটি শুধু একটি খুব সহজ টেবিল থেকে পরিবর্তন. আমরা ব্যবহৃত অপারেশন ফেলা হয় একটি টেবিল থেকে তথ্য মুছে ফেলার. টেবিল কোথায় থেকে মুছতে কিছু বিধেয় সন্তুষ্ট হয়. আমরা থেকে মুছে ফেলতে চান উদাহরণস্বরূপ ব্যবহারকারীদের টেবিল যেখানে ব্যবহারকারীর নাম নিউম্যান হয়. আপনি সম্ভবত যাচ্ছে কি অনুমান করতে পারেন আমরা যে এসকিউএল চালানো পর এখানে ঘটতে ক্যোয়ারী, নিউম্যান টেবিল থেকে চলে গেছে. সুতরাং সব এই অপারেশন, আমি বললাম, 'করেছি পিএইচপি মাই এডমিন না করা খুবই সহজ হয়. এটি একটি খুব ব্যবহারকারী বন্ধুত্বপূর্ণ ইন্টারফেস. কিন্তু এটা ম্যানুয়াল প্রচেষ্টার প্রয়োজন নেই. আমরা ম্যানুয়াল প্রচেষ্টা নিয়োগ করতে চাই না. আমরা আমাদের প্রোগ্রাম করতে চান ঠিক আছে, আমাদের জন্য এই কাজ? তাই আমরা যা করতে চাইবেন এই প্রোগ্রামের মাধ্যমে. আমরা এসকিউএল অন্তর্ভুক্ত করতে চান এবং আছে অন্য কিছু আমাদের জন্য এই কাজ করতে. কিন্তু আমরা কি পারবেন যে দেখেছি আমাদের প্রোগ্রামের মাধ্যমে কিছু করতে? আমরা ঠিক আছে, পিএইচপি দেখা করেছি? এটা কিছু প্রবর্তন আমাদের প্রোগ্রামের মধ্যে গতিশীলতা. আর তাই ভাগ্যক্রমে, এসকিউএল এবং পিএইচপি একসঙ্গে খুব সুন্দরভাবে খেলতে. পিএইচপি একটি ফাংশন আছে ব্যবহার করা যেতে পারে, যা বলা ক্যোয়ারী,. আর আপনি যেমন প্রেরণ করতে পারেন প্যারামিটার বা যুক্তি একটি SQL কোয়েরি অনুসন্ধানে যে আপনি চালানো চাই. আর পিএইচপি আপনার পক্ষে এটা করতে হবে. আপনি সংযুক্ত থাকেন পর তাই পিএইচপি সঙ্গে আপনার ডাটাবেস, আপনি এই কাজ দুটি প্রাইমারিতে আছে. কিছু বলা MySQLi নেই এবং কিছু PDO বলা. আমরা একটি বিশাল মধ্যে যেতে হবে না সেখানে পরিমাণ বিস্তারিত. CS50 আমরা PDO ব্যবহার. আপনি সংযুক্ত থাকেন পরে আপনার ডাটাবেস, আপনি তারপর প্রশ্নের আপনার ডাটাবেস তৈরি করতে পারেন আর্গুমেন্ট হিসাবে প্রশ্নের পাশ দিয়ে পিএইচপি ফাংশান. যখন আপনি না যে, আপনি সংরক্ষণ একটি মিশুক অ্যারের মধ্যে সেট স্থাপিত. আর আমরা কাজ করে কিভাবে জানি পিএইচপি মিশুক অ্যারে. তাই আমি কিছু বলতে পারে মত আপাততঃ $ results-- PHP-- ক্যোয়ারী সমান এই হল. এবং তারপর ভিতরে নিয়ে যে যুক্তি প্রশ্নের সাথে ফাংশন আমি প্রশ্ন করতে পার করছি যে যে এসকিউএল মত দেখায়. এবং বাস্তবিকই এসকিউএল যে. যে আমি would কোয়েরি স্ট্রিং এর আমার ডাটাবেসের উপর চালানো চান. তাই লাল, এই পিএইচপি হয়. এই আমি যে এসকিউএল উপার্জন করে পিএইচপি মধ্যে একীভূত এটা ক্যোয়ারী ফাংশন আর্গুমেন্ট. আমি থেকে FullName নির্বাচন করতে চান আইডি নম্বর 10 সমান যেখানে ব্যবহারকারীরা. এবং তারপর আমি যে কাজ করেছি হয়তো পরে, আমি ভালো কিছু বলতে পারে. আমি প্রিন্ট আউট করতে চান লগ-ইন-এর জন্য বার্তা ধন্যবাদ. আর আমি চাই এটা interpolate-- চান $ ফলাফল FullName ঢুকান করতে. আর তাই যে আমি যে সঙ্গে কাজ কিভাবে আমি ফিরে পেয়েছিলাম যে মিশুক অ্যারে. $ ফলাফল FullName would মূলত মুদ্রণ শেষ, , এ জেরি Seinfeld লগিং জন্য ধন্যবাদ. যে পুরো নাম ছিল যেখানে idnum 10 সমান. আর তাই সব আমি করছি আমি এখন আমি আমার সঞ্চিত করছি হয় আমার প্রশ্নের সাথে, আমার জিজ্ঞাসার ফলাফল এবং একটি মিশুক অ্যারের মধ্যে ফলাফল, এবং FullName নাম আমি পেয়ে ছিল কলাম. সুতরাং যে ফলাফল মধ্যে আমার কী আমি চাই যে মিশুক অ্যারে. তাই ধন্যবাদ লগ ইন করার জন্য, $ ফলাফল FullName বিদ্ধ করা হবে, প্রিন্ট আউট হবে ডান যারা কোঁকড়া মধ্যে ধনুর্বন্ধনী, জেরি Seinfeld. আর আমি বার্তা প্রিন্ট আউট করতে চান করব জেরি Seinfeld লগ ইন করার জন্য ধন্যবাদ. এখন, আমরা সম্ভবত হার্ড করতে চান না যে মত কোড জিনিষ, ডান? আমরা প্রিন্ট ভালো কিছু করতে চাইতে পারেন আমরা প্রতিস্থাপন এবং হয়ত করতে পারেন যেখানে F, বিভিন্ন তথ্য সংগ্রহ, হয়তো বা কোয়েরি প্রক্রিয়া আছে বিভিন্ন তথ্য. আর তাই প্রশ্নের, ক্যোয়ারী ফাংশন আছে গুলোও সাজান এই ধারণা শতাংশ গুলি চ মুদ্রণ অনুরূপ এবং শতাংশ সি, প্রশ্ন চিহ্ন হয়. এবং আমরা প্রশ্ন ব্যবহার করতে পারেন চিহ্ন খুব অনুরূপভাবে বিকল্প ভেরিয়েবল চ মুদ্রণ. তাই হয়তো আপনার ব্যবহারকারী আগে লগ, এবং আপনি তাদের ইউজার আইডি নম্বর সংরক্ষিত পিএইচপি সুপার এর $ _SESSION মধ্যে কী আইডিতে গ্লোবাল. তারা লগ তাই হয়তো পরে, আপনি, আইডি 10 সমান $ _SESSION সেট উদাহরণ থেকে extrapolating আমরা শুধু এই একটি দ্বিতীয় আগে দেখেছি. আর তাই আমরা আসলে চালানো হলে এই, এখন ফলাফল অনুসন্ধানে এটা 10 এর মধ্যে চলা, বা যাই হোক না কেন হবে $ _SESSION আইডি মান. আর তাই যে করতে পারবেন একটি বিট আরো গতিশীল হতে. আমরা হার্ড আর অনেক কিছু কোডিং করছি না. আমরা তথ্য সংরক্ষণ করছেন কোথাও এবং তারপর আমরা আবার যে তথ্য ব্যবহার করতে পারেন সাজান আমরা কি করতে চান, বিশ্বজনীন এবং শুধু-চলা এবং পরিবর্তন আমাদের এই পৃষ্ঠাটির আচরণ কি ব্যবহারকারীর আইডি সংখ্যার উপর ভিত্তি করে তারা লগ ইন করেছি পরে আসলে. এটি যদিও, সম্ভব আপনার ফলাফল সেট যে একাধিক সারি গঠিত হতে পারে. যা ক্ষেত্রে, আপনি arrays-- একটি অ্যারের মিশুক অ্যারে একটি অ্যারের. এবং আপনি এটা মাধ্যমে বারবার করতে হবে. আর আমরা বারবার কিভাবে জানেন পিএইচপি অ্যারে মাধ্যমে, ডান? সুতরাং এখানে সম্ভবত সবচেয়ে হয় আমরা এ পর্যন্ত দেখা করেছি জটিল জিনিস. এটা আসলে সংহত একসঙ্গে তিনটি ভাষায়. এখানে লাল, এই কিছু এইচটিএমএল হয়. আমি দৃশ্যত এই হল starting-- করছি আমি আছে কিছু HTML এর একটি স্নিপেট. আমি একটি নতুন অনুচ্ছেদ যে শুরু করছি টিভির Seinfeld এর Moms বলেছেন. তখন সেখানকার পরে আমি একটা টেবিল শুরু করছি. আর তারপরে আমি ঠিক আছে, কিছু পিএইচপি আছে? আমি সেখানে এই পিএইচপি কোড সব আছে. আমি দৃশ্যত একটি প্রশ্ন তৈরী করুন ঃ যাচ্ছি. এবং কোয়েরি করতে, আমি যাচ্ছি Moms থেকে নির্বাচন মায়েরা ব্যবহার করা. তাই এই এসকিউএল getting-- হয়. তাই নীল এসকিউএল হয়. আমরা একটি দ্বিতীয় আগে দেখেছি লাল এইচটিএমএল ছিল. এবং এখানে সবুজ পিএইচপি হয়. তাই আমি একটি প্রশ্নের সাথে তৈরি করছি আমার ডাটাবেসে, আমি আছি সব নির্বাচন Moms টেবিলে মায়েরা. শুধু নির্দিষ্ট নিচে সংকীর্ণ না সারি, আমি তাদের সব জন্য জিজ্ঞাসা করছি. ফলে, তাহলে আমি পরীক্ষা না সমান মিথ্যা সমান. এই সাজানোর চেক শুধু আমার উপায় ফলাফল নাল সমান নয় যদি, আমরা যেমন C দেখতে হবে. মূলত এই শুধু করতে পরীক্ষণ করা হয় এটা আসলে তথ্য ফিরে এলাম নিশ্চিত. আমি ছাপানো শুরু করতে চাই না কারণ তথ্য খুঁজে আমি কোনো তথ্য পাইনি যদি. তারপর ফলে প্রতিটি ফলাফলের জন্য পিএইচপি থেকে foreach সিনট্যাক্স, সব আমি করছি $ ফলাফলের মায়েদের প্রিন্ট আউট হয়. আর তাই আমি একটি সেট পেতে যাচ্ছি each-- মায়েরা সব এটা মিশুক একটি অ্যারে arrays-- এবং আমি প্রিন্ট আউট করছি একটি টেবিলের নিজস্ব সারিতে হিসাবে প্রতিটি এক. এবং যে সত্যিই সুন্দর অনেক সব তা আছে. আমি একটু আছে জানি বিট এখানে যাচ্ছে অ্যারে সাথে এই শেষ উদাহরণে মিশুক অ্যারে অ্যারে arrays--. কিন্তু এটা সত্যিই শুধু ফুটাইয়া এক প্রশ্নের উপার্জন করতে এসকিউএল নিচে, আমরা ইতিমধ্যে করেছি পর সাধারণত নির্বাচন টেবিলের মধ্যে তথ্য রাখা, এবং তারপর এটা খুঁজে pulling. আর এই আমরা এটি বৈঠাচালনা হবে হয় এই বিশেষ ক্ষেত্রে আউট. আমরা ব্যক্তির সব নিষ্কাশন করা হবে Moms টেবিল থেকে মায়েরা. আমরা তাদের একটি সম্পূর্ণ সেট পেয়েছেন, এবং আমরা মাধ্যমে বারবার এবং প্রিন্ট আউট করতে চান প্রতেকেই. তাই আবার, এই সম্ভবত হয় সবচেয়ে জটিল উদাহরণস্বরূপ আমরা তিন মেশানো করছি, কারণ আমরা দেখা করেছি বিভিন্ন ভাষায় একসাথে, ডান? আবার, আমরা লাল এখানে এইচটিএমএল আছে, নীল এখানে কিছু এসকিউএল সাথে মিশিয়ে, সবুজ কিছু পিএইচপি সঙ্গে মিশিয়ে. কিন্তু এই সব খেলা সুন্দরভাবে একসাথে, এটা উন্নয়নশীল ব্যাপার ভাল অভ্যাস আপনি পেতে পারেন, যাতে তাদের আপনি যেভাবে চান একসঙ্গে কাজ করতে. আর একমাত্র উপায় সত্যিই যে কি , প্র্যাকটিস অনুশীলন করতে হয়. আমি ডগ লয়েড আছি, এই CS50.