Skip to content

Instantly share code, notes, and snippets.

@beisong7
Created September 19, 2022 00:08
Show Gist options
  • Save beisong7/9ab5c1f29a42ca35304fe70793abe9cc to your computer and use it in GitHub Desktop.
Save beisong7/9ab5c1f29a42ca35304fe70793abe9cc to your computer and use it in GitHub Desktop.
sample database schema
DROP DATABASE IF EXISTS mydatabase;
CREATE DATABASE mydatabase;
DROP TABLE IF EXISTS mydatabase.customers;
DROP TABLE IF EXISTS mydatabase.payments;
CREATE TABLE mydatabase.customers (
customerId INT NOT NULL AUTO_INCREMENT,
email VARCHAR(255) NOT NULL,
createTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
firstName VARCHAR(255) NOT NULL,
middleName VARCHAR(255),
lastName VARCHAR(255),
city VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
state VARCHAR(255) NOT NULL,
country VARCHAR(32) NOT NULL,
zipcode INT NOT NULL,
UNIQUE (email),
PRIMARY KEY(customerId)
);
CREATE TABLE mydatabase.payments (
paymentId INT NOT NULL AUTO_INCREMENT,
customerId INT NOT NULL,
createTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
cardLast4Digits INT NOT NULL,
currency VARCHAR(32) NOT NULL,
amount FLOAT(0) NOT NULL,
ref VARCHAR(255) NOT NULL,
PRIMARY KEY(paymentId),
FOREIGN KEY (customerId) REFERENCES mydatabase.customers(customerId)
);
-- TEST DATABASE AND TABLES
DROP DATABASE IF EXISTS mydatabase_test;
CREATE DATABASE mydatabase_test;
DROP TABLE IF EXISTS mydatabase_test.customers;
DROP TABLE IF EXISTS mydatabase_test.payments;
CREATE TABLE mydatabase_test.customers (
customerId INT NOT NULL AUTO_INCREMENT,
email VARCHAR(255) NOT NULL,
createTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
firstName VARCHAR(255) NOT NULL,
middleName VARCHAR(255),
lastName VARCHAR(255),
city VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
state VARCHAR(255) NOT NULL,
country VARCHAR(32) NOT NULL,
zipcode INT NOT NULL,
UNIQUE (email),
PRIMARY KEY(customerId)
);
CREATE TABLE mydatabase_test.payments (
paymentId INT NOT NULL AUTO_INCREMENT,
customerId INT NOT NULL,
createTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
cardLast4Digits INT NOT NULL,
currency VARCHAR(32) NOT NULL,
amount FLOAT(0) NOT NULL,
ref VARCHAR(255) NOT NULL,
PRIMARY KEY(paymentId),
FOREIGN KEY (customerId) REFERENCES mydatabase_test.customers(customerId)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment