数据库学习

SQL-数据表

2019-11-11  本文已影响0人  Manfestain

表的创建

  1. 在定义表时,需要向数据库指明那个列或那些列作为表的主键(为表建立一个约束constraint)。

> CONSTRAINT pk_person PRIMARY KEY (person_id)
将person_id作为约束为主键,并命名为pk_person。

  1. 为某列增加一个检查约束,以限制该列只存放被允许的值。

> gender CHAR(1) CHECK (gender IN ('M', 'F'))
在MySQL中,该方式并不强制使用,可以使用下面的方式约束:
> gender ENUM('M', 'F')

  1. 使用describe命令检查表的定义。

> DESC table_name;

  1. Null表示各种不能被赋值的情况。

表的修改

1.插入(Insert)

向表中增加的数据不需要覆盖所有列(除非表中所有列都被定义为not null)

第一种方式在用户环境下会出错(两个用户同一时间访问表,产生两个相同的主键值)。
在Oracle中,使用独立的方案编号(sequence);
在MySQL中,使用AUTO_INCREMENT:
ALTER TABLE person MODIFY person_id SMALLINT UNSIGED AUTO_INCREMENT;

INSERT INTO table_name (columns1, columns2,...,columnsx) VALUES (values1, values2,..., valuesx);

插入的时间类型数据只要符合数据类型定义,会自动转换为日期类型。

SELECT columns1, columns2,...,columnsx FROM table_name WHERE columnsk=xxxx;

2. 更新(Update)

Update table_name SET columns1=values1, columns2=values2,..., columnsx=valuesx, WHERE valuesk=xxx;

3. 删除(Delete)

DELETE FROM table_name WHERE columnsk=xxx;


常见错误

ERROR 1265(01000): Data truncated for column 'gerder' at row 1.

上一篇 下一篇

猜你喜欢

热点阅读