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: