# Introduction to Prisma Client (Prisma ORM v6) (/docs/orm/v6/prisma-client/setup-and-configuration/introduction) > For the complete Prisma documentation index, see [llms.txt](https://www.prisma.io/docs/llms.txt). A markdown version of any docs page is available by appending `.md` to its URL. Learn how to set up Prisma Client. Location: ORM > v6 > Prisma Client > Setup and Configuration > Introduction to Prisma Client Prisma Client is an auto-generated and type-safe query builder that's *tailored* to your data. To get started with Prisma Client, follow the **[Quickstart](https://www.prisma.io/docs/v7/prisma-orm/quickstart/sqlite)**. [⭐ Quickstart (5 min)](https://www.prisma.io/docs/v7/prisma-orm/quickstart/sqlite) The setup instructions [below](#set-up) provide a high-level overview of the steps needed to set up Prisma Client. If you want to get started using Prisma Client with your own database, follow one of these guides: [🚀 Set up a new project from scratch](https://www.prisma.io/docs/v7/prisma-orm/quickstart/postgresql) [➕ Add Prisma to an existing project](https://www.prisma.io/docs/v7/prisma-orm/add-to-existing-project/postgresql) ## Set up [#set-up] ### 1. Prerequisites [#1-prerequisites] In order to set up Prisma Client, you need a [Prisma schema file](https://www.prisma.io/docs/orm/v6/prisma-schema/overview) with your database connection, the Prisma Client generator, and at least one model: ```prisma title="schema.prisma" datasource db { provider = "postgresql" } generator client { provider = "prisma-client" output = "../src/generated/prisma" } model User { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) email String @unique name String? } ``` Also make sure to [install the Prisma CLI](https://www.prisma.io/docs/orm/v6/tools/prisma-cli#installation): #### bun ```bash bun add prisma@6.19.3 --dev ``` #### pnpm ```bash pnpm add prisma@6.19.3 --save-dev ``` #### yarn ```bash yarn add prisma@6.19.3 --dev ``` #### npm ```bash npm install prisma@6.19.3 --save-dev ``` #### bun ```bash bunx prisma ``` #### pnpm ```bash pnpm prisma ``` #### yarn ```bash yarn prisma ``` #### npm ```bash npx prisma ``` ### 2. Installation [#2-installation] Install Prisma Client in your project with the following command: #### bun ```bash bun add @prisma/client@6.19.3 ``` #### pnpm ```bash pnpm add @prisma/client@6.19.3 ``` #### yarn ```bash yarn add @prisma/client@6.19.3 ``` #### npm ```bash npm install @prisma/client@6.19.3 ``` ### 3. Importing Prisma Client [#3-importing-prisma-client] There are multiple ways to import Prisma Client in your project depending on your use case: #### TypeScript ```ts import { PrismaClient } from "./generated/prisma"; const prisma = new PrismaClient(); // use `prisma` in your application to read and write data in your DB ``` #### JavaScript ```js const { PrismaClient } = require("./generated/prisma"); const prisma = new PrismaClient(); // use `prisma` in your application to read and write data in your DB ``` For edge environments, you can import Prisma Client as follows: #### TypeScript ```ts import { PrismaClient } from "./generated/prisma/edge"; const prisma = new PrismaClient(); // use `prisma` in your application to read and write data in your DB ``` #### JavaScript ```js const { PrismaClient } = require("./generated/prisma/edge"); const prisma = new PrismaClient(); // use `prisma` in your application to read and write data in your DB ``` > **Note**: If you're using [driver adapters](https://www.prisma.io/docs/orm/v6/overview/databases/database-drivers#driver-adapters), you can import from the location specified in your generator's `output` path directly, e.g. `./src/generated/prisma`. No need to import from `./src/generated/prisma/edge`. ### 4. Use Prisma Client to send queries to your database [#4-use-prisma-client-to-send-queries-to-your-database] Once you have instantiated `PrismaClient`, you can start sending queries in your code: ```ts // run inside `async` function const newUser = await prisma.user.create({ data: { name: "Alice", email: "alice@prisma.io", }, }); const users = await prisma.user.findMany(); ``` > [!NOTE] > All Prisma Client methods return an instance of [`PrismaPromise`](https://www.prisma.io/docs/orm/v6/reference/prisma-client-reference#prismapromise-behavior) which only executes when you call `await` or `.then()` or `.catch()`. ### 5. Evolving your application [#5-evolving-your-application] Whenever you make changes to your database that are reflected in the Prisma schema, you need to manually re-generate Prisma Client to update the generated code in your output directory: ``` prisma generate ``` ## Related pages - [`Configuring error formatting`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/error-formatting): This page explains how to configure the formatting of errors when using Prisma Client. - [`Custom model and field names`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/custom-model-and-field-names): Learn how you can decouple the naming of Prisma models from database tables to improve the ergonomics of the generated Prisma Client API. - [`Database connections`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/databases-connections): Databases connections - [`Database polyfills`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/database-polyfills): Prisma Client provides features that are not achievable with relational databases. These features are referred to as "polyfills" and explained on this page. - [`Generating Prisma Client`](https://www.prisma.io/docs/orm/v6/prisma-client/setup-and-configuration/generating-prisma-client): This page explains how to generate Prisma Client. It also provides additional context on the generated client, typical workflows and Node.js configuration.