数据库建表create table实例代码
时间: 2024-11-22 16:14:11 浏览: 11
数据库建表(Create Table)是数据库管理系统中创建一个新的数据存储结构的基本操作。下面是一个简单的MySQL创建表格的例子,假设我们要创建一个用户信息表(users),包含字段如id、username、email和password:
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY, -- 主键,自增
username VARCHAR(50) NOT NULL UNIQUE, -- 用户名,不允许为空且唯一
email VARCHAR(100) UNIQUE NOT NULL, -- 邮箱地址,不允许为空且唯一
password VARCHAR(255), -- 密码,可以为空
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 记录创建时间,默认当前时间
);
```
在这个例子中:
- `id` 是主键,自动递增,每次插入新记录时会自动增加。
- `username` 和 `email` 字段都设置了 `UNIQUE` 约束,确保每个用户名和邮箱都是唯一的。
- `created_at` 列用于存储记录创建的时间,设为了默认值 `CURRENT_TIMESTAMP`。
相关问题
MySQL第4章实例:petstore数据库建表、插入数据及修改数据
MySQL第4章中的实例通常会涉及创建一个宠物商店(Petstore)数据库,用于管理顾客、产品和服务等信息。下面是一个简单的步骤概述:
1. **创建数据库**:
首先,你需要在MySQL服务器上创建一个名为`petstore`的新数据库,可以使用以下命令:
```
CREATE DATABASE petstore;
```
2. **创建表格**:
- **顾客表(Customers)**:可能包含字段如`id`, `name`, `email`, 和 `password`。
```sql
CREATE TABLE Customers (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(100)
);
```
- **产品表(Products)**:可能包含`id`, `name`, `description`, 和 `price`等字段。
```sql
CREATE TABLE Products (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
description TEXT,
price DECIMAL(10, 2)
);
```
- **订单表(Orders)**:关联顾客和产品,可能有`order_id`, `customer_id`, `product_id`, 和 `quantity`等字段。
```sql
CREATE TABLE Orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
customer_id INT,
product_id INT,
quantity INT,
FOREIGN KEY (customer_id) REFERENCES Customers(id),
FOREIGN KEY (product_id) REFERENCES Products(id)
);
```
3. **插入数据**:
使用`INSERT INTO`语句向每个表添加示例数据。
```sql
INSERT INTO Customers (name, email, password) VALUES ('John Doe', 'john@example.com', 'hashed_password');
INSERT INTO Products (name, description, price) VALUES ('Dog Collar', 'A durable collar for dogs', 29.99);
INSERT INTO Orders (customer_id, product_id, quantity) VALUES (1, 1, 2);
```
4. **修改数据**:
可以通过更新语句更改已有记录,例如修改价格或名字:
```sql
UPDATE Products SET price = 34.99 WHERE id = 1; -- 修改产品价格
UPDATE Customers SET name = 'Jane Smith' WHERE id = 1; -- 更新客户姓名
```
oralce数据库建表并授权给用户
Oracle数据库中创建表并给用户授权通常涉及以下几个步骤:
1. **创建表**:
- 打开SQL*Plus或其他Oracle客户端工具,连接到相应的数据库实例。
```sql
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...);
```
例如,创建一个名为"employees"的员工信息表:
```sql
CREATE TABLE employees (
id NUMBER PRIMARY KEY,
name VARCHAR2(50),
email VARCHAR2(100)
);
```
2. **创建用户**:
如果用户尚未存在,可以使用`CREATE USER`命令创建新用户:
```sql
CREATE USER username IDENTIFIED BY password;
```
例如,创建用户"john":
```sql
CREATE USER john IDENTIFIED BY "mypassword";
```
3. **授予权限**:
使用`GRANT`语句为用户授予操作特定表的权限,如SELECT、INSERT、UPDATE、DELETE等:
```sql
GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO username;
```
给"john"用户对"employees"表的所有权:
```sql
GRANT ALL PRIVILEGES ON employees TO john;
```
4. **启用口令认证**:
如果你希望用户通过密码登录,需要启用身份验证:
```sql
ALTER USER username ACCOUNT UNLOCK; -- 解锁账户
```
这样用户就可以使用分配的用户名和密码登录了。
记得每次完成操作后,最好提交事务(`COMMIT`)以保存更改。如果不想立即提交,可以使用`SAVEPOINT`保存事务点,然后用`ROLLBACK TO SAVEPOINT`回滚到某个点。
阅读全文