美文网首页
part5. 增删改 | 表操作

part5. 增删改 | 表操作

作者: katelin | 来源:发表于2018-12-28 22:06 被阅读0次

第15课 插入数据

INSERT INTO:插入一行数据

INSERT INTO 表名 Values(值);
#使用这种方法,可省略某些列,省略的列必须满足允许NULL值或在表定义中给出默认值
INSERT INTO 表名(列名) VALUES(值);

INSERT INTO SELECT:插入多行数据

# 可插入多行
INSERT INTO Customers(cust_id, cust_contact)
SELECT cust_id, cust_contact
FROM CustNew;

SELECT INTO:从一个表复制到另一个表:

#创建一个名为CustCopy的新表,并把Customers表的整个内容复制到新表中,要只想复制部分列,可明确给出列名,而不是使用*
SELECT *
INTO CustCopy
FROM Customers;
MySQL语法:
CREATE TABLE CustCopy AS
SELECT * FROM Customers;

使用SELECT INTO注意:
1 任何SELECT选项和子句都可以使用,包括WHERE和GROUP BY
2 可利用联结从多个表插入数据
3 不管从多少个表中检索数据,数据都只能插入到一个表中

第16课 更新和删除数据

更新

UPDATE Customers
SET cust_contact='Sam Roberts',
    cust_email='sam@toyland.com'
WHERE cust_id='1000000006';
#删除某个列的值,可设置为NULL
UPDATE Customers
SET cust_email=NULL
WHERE cust_id='1000000005';

空字符串用' '表示,是一个值,而NULL表示没有值

删除数据

从表中删除一行:

DELETE FROM Customers
WHERE cust_id='1000000006';

DELETE从表中删除整行,甚至是删除表中的所有行,而不删除列。
要删除指定的列,请使用UPDATE语句。
DELETE不删除表本身。
要删除表中的所有行,可使用TRUNCATE TABLE语句

更新和删除的指导原则

  1. 如果不是打算更新和删除每一行,不要使用不带WHERE子句的UPDATE或DELETE
  2. 保证每个表都有主键,尽可能像WHERE子句那样使用它
  3. 先用SELECT进行测试,保证过滤的是正确的记录
  4. 使用强制实施引用完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的行。
  5. 有的DBMS允许数据库管理员施加约束,防止执行不带WHERE子句的UPDATE或DELETE语句,DBMS支持这个特性的话应该使用。

第17课 创建和操纵表

创建表

  1. CREATE TABLE创建表,必须给出下列信息:
  • 新表的名字
  • 表列的名字和定义,用逗号分隔
  • 有的DBMS还要求指定表的位置
CREATE TABLE Products
(
  prod_id  CHAR(10)  NOT NULL,
  vend_id  CHAR(10)  NOT NULL,
  prod_name CHAR(254)  NOT NULL,
  prod_price DECIMAL(8,2)  NOT NULL,
  prod_desc VARCHAR(1000) NULL
);

对于MySQL,varchar必须替换为text

  1. NULL/ NOT NULL:
    不指定NOT NULL,多数DBMS认为指定的是NULL
    只有不允许NULL值的列可作为主键,允许NULL值的列不能作为唯一标识
    空字符串是一个有效的值,不是NULL。

  2. DEFAULT:
    quantity INTEGER NOT NULL DEFAULT 1;
    默认值经常用于日期或时间戳列:
    MySQL:DEFAULT CURRENT_DATE()
    Oracle:DEFAULT SYSDATE
    SQL Server:DEFAULT GETDATE()

更新表

使用ALTER TABLE应在改动前做表结构和数据完整的备份

ALTER TABLE Vendors
ADD vend_phone CHAR(20);
ALTER TABLE Vendors
DROP COLUMN vend_phone;

删除表

DROP TABLE CustCopy;

相关文章

  • part5. 增删改 | 表操作

    第15课 插入数据 INSERT INTO:插入一行数据 INSERT INTO SELECT:插入多行数据 SE...

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • 增删改

    对于表中的操作,就是增删改查,查内容较多,这里先说增删改。 1.增(insert或者load) 即插入数据,多行插...

  • Python 高级 14(2)数据库增删改查

    数据表操作、DDL 数据表的增删改、DML 数据表中数据的增删改、MySQL 常用字段类型 2.4 数据表操作 学...

  • IOS FMDB的简单实用

    对数据库简单的操作: 增删改查 1、确定存储的路径,并创建文件 打开文件,并创建表 3.增: 往表中添加数据 ...

  • 2018-06-23 (数据库)

    /*表的增删改查增创建删除删除整张表改改变表名改变列名改变列类型查查询表结构查询表信息表数据的增删改查增插入指定列...

  • Python day24_mysql数据库

    mysql 数据库的操作 数据表的操作 增删改查(curd)

  • django

    django django同步表结构建表修改表数据库操作增删改查 同步表结构 所有操作需要在项目manage.py...

  • 数据库表的增删改查

    crud 对表的增删改查 增insert into1.完全插入:例如:insert into 表名 values(...

  • 数据库相关

    一、 数据库的操作 二、 数据表的操作 三、 增删改查(curd)

网友评论

      本文标题:part5. 增删改 | 表操作

      本文链接:https://www.haomeiwen.com/subject/maptlqtx.html