Back to roadmaps prisma Course

Prisma Schema Syntax and Client API Cheat Sheet

This quick reference guide summarizes the most common configurations and query methods in Prisma.


1. Prisma Schema Attributes Reference

Attribute Database Action Example Usage
@id Primary key identifier id Int @id @default(autoincrement())
@unique Unique constraint index email String @unique
@default() Sets default values role Role @default(USER)
? Modifier Nullable database column bio String?
@@index Creates search index @@index([userId, status])

2. Prisma Client CRUD Queries

// 1. Create single record
await db.user.create({
  data: { email: "user@domain.com", name: "User" }
});

// 2. Read unique record
await db.user.findUnique({
  where: { email: "user@domain.com" }
});

// 3. Update single record
await db.user.update({
  where: { email: "user@domain.com" },
  data: { name: "Updated Name" }
});

// 4. Delete single record
await db.user.delete({
  where: { email: "user@domain.com" }
});

3. Relational Queries and Selection

// A. Query relations using include
const userWithPosts = await db.user.findUnique({
  where: { id: 1 },
  include: { posts: true }
});

// B. Project columns using select
const minimalUsers = await db.user.findMany({
  select: {
    id: true,
    email: true
  }
});

// C. Dynamic connect to existing ID
await db.post.create({
  data: {
    title: "Connected Post",
    author: {
      connect: { id: 1 }
    }
  }
});
Published on Last updated: