数据库表的基本操作
来源:互联网 发布:报表系统源码 编辑:程序博客网 时间:2024/05/20 12:48
1.创建表
CREATE TABLE 表名 (列名1 数据类型 约束, 列名2 数据类型 约束, ...);
下面创建五个表
-- ------------------------ Create Customers table-- ----------------------CREATE TABLE Customers( cust_id char(10) NOT NULL , cust_name char(50) NOT NULL , cust_address char(50) NULL , cust_city char(50) NULL , cust_state char(5) NULL , cust_zip char(10) NULL , cust_country char(50) NULL , cust_contact char(50) NULL , cust_email char(255) NULL );-- ------------------------- Create OrderItems table-- -----------------------CREATE TABLE OrderItems( order_num int NOT NULL , order_item int NOT NULL , prod_id char(10) NOT NULL , quantity int NOT NULL , item_price decimal(8,2) NOT NULL );-- --------------------- Create Orders table-- -------------------CREATE TABLE Orders( order_num int NOT NULL , order_date datetime NOT NULL , cust_id char(10) NOT NULL );-- ----------------------- Create Products table-- ---------------------CREATE TABLE Products( prod_id char(10) NOT NULL , vend_id char(10) NOT NULL , prod_name char(255) NOT NULL , prod_price decimal(8,2) NOT NULL , prod_desc text NULL );-- ---------------------- Create Vendors table-- --------------------CREATE TABLE Vendors( vend_id char(10) NOT NULL , vend_name char(50) NOT NULL , vend_address char(50) NULL , vend_city char(50) NULL , vend_state char(5) NULL , vend_zip char(10) NULL , vend_country char(50) NULL );-- --------------------- Define primary keys-- --------------------- 主键 ALTER TABLE 表名 ADD PRIMARY KEY(列名);-- 或者直接在创建表时指定主键ALTER TABLE Customers ADD PRIMARY KEY (cust_id);ALTER TABLE OrderItems ADD PRIMARY KEY (order_num, order_item);ALTER TABLE Orders ADD PRIMARY KEY (order_num);ALTER TABLE Products ADD PRIMARY KEY (prod_id);ALTER TABLE Vendors ADD PRIMARY KEY (vend_id);-- --------------------- Define foreign keys-- --------------------- 外键 ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(列名) REFERENCES 表名(主键);ALTER TABLE OrderItems ADD CONSTRAINT FK_OrderItems_Orders FOREIGN KEY (order_num) REFERENCES Orders (order_num);ALTER TABLE OrderItems ADD CONSTRAINT FK_OrderItems_Products FOREIGN KEY (prod_id) REFERENCES Products (prod_id);ALTER TABLE Orders ADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (cust_id) REFERENCES Customers (cust_id);ALTER TABLE Products ADD CONSTRAINT FK_Products_Vendors FOREIGN KEY (vend_id) REFERENCES Vendors (vend_id);
2.更新表
2.1 删除,添加或修改表字段
如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。
-- 添加一列ALTER TABLE Vendors ADD vend_phone CHAR(20);-- 将新增列放在第一列ALTER TABLE Vendors ADD vend_phone CHAR(20) FIRST;-- 放在vend_name列之后ALTER TABLE Vendors ADD vend_phone CHAR(20) AFTER vend_name;
-- 删除列vend_phoneALTER TABLE Vendors DROP COLUMN vend_phone;
2.2 修改字段类型及名称
如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句
ALTER TABLE Vendors MODIFY vend_phone CHAR(10); -- 使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。 ALTER TABLE Vendors CHANGE vend_phone v_p CHAR(10);
2.3 ALTER TABLE 对 Null 值和默认值的影响
当你修改字段时,你可以指定是否包含只或者是否设置默认值。
ALTER TABLE testalter_tbl MODIFY vend_id BIGINT NOT NULL DEFAULT 100;
2.4 修改字段默认值
-- 使用ALTER 来修改字段的默认值 ALTER TABLE Vendors ALTER vend_phone SET DEFAULT 000-0000-0000; -- 你也可以使用 ALTER 命令及 DROP子句来删除字段的默认值 ALTER TABLE Vendors ALTER vend_phone DROP DEFAULT;
2.5 修改字段的顺序
-- 调整某个字段到表的第一个位置,ALTER TABLE table_name MODIFY 属性名 数据类型 FIRST;-- 调整某个字段到表的某个字段之后,ALTER TABLE table_name MODIFY 属性名1 数据类型 AFTER 属性名2;
说明:属性名1是要调整的字段,属性名2 是要调整到字段后面。
3.删除表
DROP TABLE CustCopy;
4.重命名表
ALTER TABLE Vendors RENAME TO alter_tbl;-- RENAME TABLE Vendors TO alter_tbl;
5.表约束
完整性是指数据的准确性和一致性,而完整性检查就是指的是检查数据的准确性和一致性。
5.1 设置非空约束(NOT NULL,NK)
CREATE TABLE table_name(属性名 数据类型 NOT NULL,...);
5.2 设置字段的默认值 (DEFAULT)
当数据库表插入一条数据时候,如果没有为某个字段赋值,那么数据库系统就会自动给该字段赋值。
CREATE TABLE table_name(属性名 数据类型 DEFAULT 默认值, ...);
5.3 设置唯一约束(UNIQUE,UK)
CREATE TABLE table_name( 属性名 数据类型 UNIQUE, … )
5.4 设置主键约束
当数据库表中的某个字段用来唯一标识所有的记录的时候,就可以设置PK约束。主键字段是唯一、非空的值。
CREATE TABLE table_name( 属性名 数据类型 PRIMARY KEY, … )
主键约束相当于非空约束+唯一约束。
多字段主键(联合主键)设置如下,
CREATE TABLE table_name( 属性名 数据类型, … CONSTRAINT 约束名 PRIMARY KEY(属性名1,属性名2…) );
5.5、设置字段值自动增加(AUTO_INCREMENT)
设置AUTO_INCREMENT约束后,字段会生成一个唯一的ID值。该字段必须是整数类型。
CREATE TABLE table_name( 属性名 数据类型 AUTO_INCREMENT, … );
5.6 设置外键约束(FOREIGN KEY,FK)
设置外键约束的两个表必须具有父与子的关系。设置FK约束的字段,必须依赖于数据库中已经存在的父表的主键。
CREATE TABLE table_name( 属性名 数据类型, … CONSTRAINT 外键约束名 FOREIGN KEY (属性名1) REFERENCES 表名 (属性名2) );
阅读全文
0 0
- 数据库表的基本操作
- 数据库表的基本操作
- 数据库表的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 基本的数据库操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 视频音量调控
- java 多线程买卖
- spring boot(9)-mybatis关联映射
- 基于Tensorflow的BEGAN实现
- 解决 ssh secure shell client端中文显示乱码问题
- 数据库表的基本操作
- maven package
- Yii2验证码
- elastic-job好的文章详解
- 时间复杂度和空间复杂度
- Linux查找含有某字符串的所有文件
- tomcat JVM 内存设置
- java.lang.NoSuchMethodError错误
- 执行环境,作用域,作用域链详解