SQL数据表基本操作笔记
程序员文章站
2022-05-03 14:48:45
...
学习的时间比较久了,对数据库的基本知识有所淡忘,开此文章作为笔记,便于后续查看。
直接进入正题。
1.建立数据表
CREATE TABLE person(
person_id SMALLINT UNSIGNED PRIMARY KEY,
fname varchar(20),
lname varchar(20),
gender ENUM('M','F'),
birth_date DATE,
street VARCHAR(30),
city VARCHAR(20),
sate VARCHAR(30),
country VARCHAR(20)
);
其中ENUM为枚举类型,PRIMARY KEY为主键。创建完表格后,如果想确认表格是否创建,可以使用DESC命令。
create table favorite_food(
person_id SMALLINT UNSIGNED,
food VARCHAR(20),
CONSTRAINT pk_favorite_food PRIMARY KEY (person_id,food),
CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id)
REFERENCES person (person_id)
);
此表稍有不同,主键为联合主键,由person_id,food共同约束,同时添加了外键约束,即该表中person_id的值必须为person表中person_id存在的值。顺便补充一句,数据表有五大约束。
五大约束
1.—-主键约束(Primay Key Coustraint) 唯一性,非空性
2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)
4.—-默认约束 (Default Counstraint) 该数据的默认值
5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列
2.插入数据
insert 语句主要由3个部分组成:
- 1.要插入的数据表的名称;
- 2,要插入的列的名称;
- 3.要插入到列的值;
简单例子如下:
insert into person
(person_id,fname,lname,gender,birth_date)
values (1,'william','Turner','M','1994-06-19' )
要注意的是需满足上面提到的几大约束(主键值不能相同,非空属性,不能超出默认范围等,如果每列都插值,列名可略去不写。)
3.更新数据(注意为更新表中内容,与更新表格不同)
update person
set street ='122 TREMONT ST',
city='Boston',
country='USA'
where person_id = 1;
4.查找数据select person_id,fname,lname,birth_date
from person
where person_id=1;
5.删除数据
delete from person
where person_id = 1;
6.一些可能导致错误的语句
1.主键不唯一;
2.不存在的外键;
3.列值不合法;
4.无效的日期转换;
...
其实出错的情况大多就是因为没有满足数据表的五大约束。
上一篇: 清汤牛肉,这些简单的做法你可能不知道