-
-
Notifications
You must be signed in to change notification settings - Fork 2
DELETE
Oxford Harrison edited this page Nov 19, 2024
·
7 revisions
The DELETE
statement.
See APIS ➞
client.query()
,table.delete()
Section | Description |
---|---|
Basic Delete | Run a basic DELETE operation. |
The WHERE Clause |
- |
The RETURNING Clause |
- |
// (a): SQL syntax
const result = await client.query(
`DELETE FROM public.users`
);
// (b): Object-based syntax
const result = await client.database('public').table('users').delete();
Find by simple expression:
// (a): SQL syntax
const result = await client.query(
`DELETE FROM public.users
WHERE name = 'John' AND role = 'guest'`
);
// (b): Object-based syntax
const result = await client.database('public').table('users').delete(
{ where: [
{ eq: ['name', { value: 'John' }] },
{ eq: ['role', { value: 'guest' }] }
] }
);
// (c): Function-based syntax
const result = await client.database('public').table('users').delete(
{ where: [
(q) => q.eq('name', (r) => r.value('John')),
(q) => q.eq('role', (r) => r.value('guest'))
] }
);
Find by complex expression:
// (a): SQL syntax
const result = await client.query(
`DELETE FROM public.users
WHERE (role = $1 OR role = $2) AND (
email IS NOT NULL OR (
phone IS NOT NULL AND country_code IS NOT NULL
)
)`
);
// (b): Object-based syntax
const result = await client.database('public').table('users').delete(
{ where: [
{ some: [
{ eq: ['role', { binding: 'admin' }] },
{ eq: ['role', { binding: 'contributor' }] }
] },
{ some: [
{ isNotNull: 'email' },
{ every: [
{ isNotNull: 'phone' },
{ isNotNull: 'country_code' }
] }
] }
] }
);
// (c): Function-based syntax
const result = await client.database('public').table('users').delete(
{ where: [
(q) => q.some(
(r) => r.eq('role', (s) => s.binding('admin')),
(r) => r.eq('role', (s) => s.binding('contributor')),
),
(q) => q.some(
(r) => r.isNotNull('email'),
(r) => r.every(
(s) => s.isNotNull('phone'),
(s) => s.isNotNull('country_code')
)
)
] }
);
Examples coming soon.