• SQL语句之表操作 time


    创建表:CREATE TABLE 语句

    CREATE TABLE 语句用于创建数据库中的表。表由行和列组成,每个表都必须有个表名。

    CREATE DATABASE 语句用于创建数据库:CREATE DATABASE dbname;

    语法

    CREATE TABLE table_name
    (
    column_name1 data_type(size),
    column_name2 data_type(size),
    column_name3 data_type(size),
    ....
    );

    column_name 参数规定表中列的名称。
    data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
    size 参数规定表中列的最大长度。

    提示:如需了解 MS Access、MySQL 和 SQL Server 中可用的数据类型,请访问数据类型参考手册

    实例

    创建一个名为 "Persons" 的表,包含五列:PersonID、LastName、FirstName、Address 和 City,使用下面的 CREATE TABLE 语句:
    CREATE TABLE Persons
    (
    PersonID int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    );

    PersonID 列的数据类型是 int,包含整数。
    LastName、FirstName、Address 和 City 列的数据类型是 varchar,包含字符,且这些字段的最大长度为 255 个字符。

    提示:可使用 INSERT INTO 语句向空表写入数据。

    更改表:ALTER TABLE 语句

    ALTER TABLE 语句用于在已有的表中添加、删除或修改列

    • 如需在表中添加列,请使用下面的语法:
      ALTER TABLE table_name
      ADD column_name datatype

    • 如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
      ALTER TABLE table_name
      DROP COLUMN column_name

    • 要改变表中列的数据类型,请使用下面的语法:

      • SQL Server / MS Access:
        ALTER TABLE table_name
        ALTER COLUMN column_name datatype

      • My SQL / Oracle:
        ALTER TABLE table_name
        MODIFY COLUMN column_name datatype

      • Oracle 10G 之后版本:
        ALTER TABLE table_name
        MODIFY column_name datatype;

    删除表:DROP TABLE 语句

    DROP TABLE 语句用于删除表:
    DROP TABLE table_name

    复制表:SELECT INTO 语句

    SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中

    MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT(只拷贝表的数据,不拷贝表的结构,前提是新表已经存在))
    当然你可以使用AS语句来拷贝表结构及数据:CREATE TABLE 新表 AS SELECT * FROM 旧表

    • 复制所有的列插入到新表中:
      SELECT *
      INTO newtable [IN externaldb]
      FROM table1;

    • 复制希望的列插入到新表中:
      SELECT column_name(s)
      INTO newtable [IN externaldb]
      FROM table1;

    • 只复制表结构到新表中(只需要添加促使查询没有数据返回的 WHERE 子句即可):
      SELECT column_name(s)
      INTO newtable [IN externaldb]
      FROM table1;

    提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。

    临时表

    局部临时表与全局临时表区别与示例:

    • 局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。
    • 全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。
    • 不管局部临时表还是全局临时表,只要连接有访问权限,都可以用drop table #Tmp(或者drop table ##Tmp)来显式删除临时表

    参考资料

    SQL 教程 | 菜鸟教程

  • 相关阅读:
    Qt5中QMessageBox::warning()的第一个参数写this时出错
    Qt5如何设置静态编译,解决生成的可执行文件打开出错问题
    SpringCloud OAuth2实现单点登录以及OAuth2源码原理解析
    Redis分区
    Redis持久化
    如何合理地估算线程池大小?
    并发减库存
    Java导出Excel
    电商促销后台逻辑
    Java8虚拟机内存模型
  • 原文地址:https://www.cnblogs.com/timefiles/p/TableOperation.html
Copyright © 2020-2023  润新知