SQL创建数据库表

这篇笔记介绍了SQL的基本概念,包括数据库管理系统、SQL语句分类和书写规则。重点讲解了如何使用CREATE DATABASE和CREATE TABLE创建数据库和表,设置约束条件,以及删除和更新表的操作。还提供了创建Addressbook表的示例以及ALTER TABLE和DROP TABLE的实践应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql

一、初始数据库

数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。这个数据集合就称数据库(Databe,DB),用来管理数据库的计算机系统称为数据库管理系统(Database Managment System,DBMS)。

1 关系数据库管理系统

关系数据库(Relational Database,RDB)的DBMS称为关系数据库管DBMS),常见的RDBMS有5种:(1)甲骨文公司:oracal Database;(2)微软公司:SQL Server;(3)IBM:DB2;(4)开源的RDBMS:PostgreSQL;(5)开源的RDBMS:MYSQL

二、SQL

2.1 SQL语句分类

(1)数据定义语言(Data Definition Language,DDL)用来创建或者删除存储数据用的数据库以及数据库中的表等对象。包含CREATE、DROP、ALTER

(2)数据操纵语言(Data Manipulation Language,DML) 用来查询或者变更表中的记录。包含SELECT、INSERT、UPDATE、DELETE、

(3)数据控制语言(Data Control Language,DCL)用来确认或者取消对数据库中的数据进行的变更。

2.2 书写规则

1.分号( ; )结尾表示语句的结束;

2.SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的

3.win 系统默认不区分表名及字段名的大小写,linux / mac 默认严格区分表名及字段名的大小写

4.语句注释:--

2.3 创建数据库 (CREATE DATABASE 语句)

create database<数据库名称>;CREATE DATABASE shop;

2.4 创建表 (CREATE TABLE 语句)

CREATE TABLE < 表名 > ( < 列名 1> < 数据类型 > < 该列所需约束 > , < 列名 2> < 数据类型 > < 该列所需约束 > );

CREATE TABLE product( product_id CHAR(4) NOT NULL

, product_name VARCHAR(100) NOT NULL

, product_type VARCHAR(32) NOT NULL

, sale_price INTEGER, purchase_price INTEGER

, regist_date DATE

, PRIMARY KEY(product_id) ) ;

2.5 设置约束条件

NOT NULL是非空约束,即该列必须输入数据。

PRIMARY KEY是主键约束,代表该列是唯一值,可以通过该列取出特定的行的数据

default约束设定默认值
 

2.6 表的删除和更新

1.drop删除表:删除的表是无法恢复的,只能重新插入,请执行删除操作时无比要谨慎。DROP删除整个表结构,与清空表不同

DROP TABLE < 表名 > ;

2.alter table语句:添加一列,ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;

3.删除列:ALTER TABLE < 表名 > DROP COLUMN < 列名 >;

4.清空表:TRUNCATE TABLE TABLE_NAME;delete TABLE TABLE_NAME;

truncate用来清除数据时,速度最快

5.更新数据:UPDATE <表名>

SET <列名> = <表达式> [, <列名2>=<表达式2>...];

WHERE <条件>; -- 可选,非常重要。

ORDER BY 子句; --可选

LIMIT 子句; --可选

多列更新: UPDATE product SET sale_price = sale_price * 10

, purchase_price = purchase_price / 2 WHERE product_type = '厨房用具';

6.表中插入数据:INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);

例:CREATE TABLE productins (product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, product_type VARCHAR(32) NOT NULL, sale_price INTEGER DEFAULT 0, purchase_price INTEGER , regist_date DATE , PRIMARY KEY (product_id));

插入一行:INSERT INTO productins (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');

插入多行:INSERT INTO productins VALUES

('0002', '打孔器', '办公用品', 500, 320, '2009-09-11')

, ('0003', '运动T恤', '衣服', 4000, 2800, NULL)

, ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');

7. insert ...select 语句从其他表复制数据

insert into productcopy(product_id,product_name,product_type
,sale_price)
select product_id,product_name,product_type
,sale_price from product;

三、练习题

3.1  create table Addressbook (
regist_no int not null comment '注册编号'
,name varchar(128) not null comment '姓名'
,address varchar(126) not null comment '住址'
,tel_no char(10) comment '电话号码'
,mail_address char(20) comment '邮箱地址'
,primary key(regist_no)
);

3.2  alter table Addressbook add column poatal_code char(8) not null;

3.3 drop table Addressbook;

3.4 没有特定语句可以恢复

create table Addressbook (
regist_no int not null comment '注册编号'
,name varchar(128) not null comment '姓名'
,address varchar(126) not null comment '住址'
,tel_no char(10) comment '电话号码'
,mail_address char(20) comment '邮箱地址'
,primary key(regist_no)
);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值