精华内容
下载资源
问答
  • oracle数据库在逻辑上将数据存储在空间中,在物理上将数据存储在数据文件中。...创建永久空间 CREATE TABLESPACEmldn_data --空间名 DATAFILE 'd:\mldnds\mldn_data01.dbf' SIZE 50M ,--文件路径

                oracle数据库在逻辑上将数据存储在表空间中,在物理上将数据存储在数据文件中。表空间分为:永久表空间、撤销表空间(undo)表空间和临时表空间

    1. 创建永久表空间      

    CREATE TABLESPACEmldn_data  --表空间名

    DATAFILE  'd:\mldnds\mldn_data01.dbf' SIZE 50M ,--文件路径

                       'e:\mldnds\mldn_data02.dbf' SIZE 50M--表空间初始化大小

    AUTOEXTEND on NEXT 2M--自动增加2

    LOGGING ;

    --文件路径及文件名

    size 50M   --表空间大小

    AUTOEXTEND ON NEXT 50M   --每次自动扩展50M

    --创建临时表空间

    create temporary tablespace userTemp

    tempfile  'C:\app\yeduanqiao\oradata\dbname\userTemp.dbf'

    size 50M


    ---查看表空间名称、id,文件存储位置,初始大小(无法看到临时表空间)

    select tablespace_name,file_id,file_name,bytes

    from dba_data_files

    order by file_id

    --查看临时表空间名称,大小等

    SELECT tablespace_name,file_name,bytes,autoextensible FROM dba_temp_files ;

    --查看所有表空间信息

    SELECT tablespace_name,block_size,extent_management,status,contents FROM dba_tablespaces ;


    --修改表空间的大小

    --修改表空间的大小是通过增加数据文件的方式曾加的表空间大小

    alter database

    datafile 'C:\app\yeduanqiao\oradata\dbname\useSpacer.dbf'  

    resize 1000M


    --删除表空间drop tablespace USERSPACE

    删除后查询此表空间,查询不到,删除成功

    注:不可以直接删除表空间的文件,这样就无法打开数据库,需要恢复数据,操作看我另外一篇博文。链接如下

    http://blog.csdn.net/xp_lx1/article/details/53579385











    展开全文
  • 创建表之后,倘若需要对表进行修改,可使用以下SQL语句 alter table 表名 modify 表的字段 改变后的结构 例如:更改一个字段添加不为空的约束 alter table stu modify name varchar(20) not null 如果你想改...

    在创建表之后,倘若需要对表进行修改,可使用以下SQL语句

    alter table 表名 modify 表的字段 改变后的结构

    例如:更改一个字段添加不为空的约束
    alter table stu modify name varchar(20) not null
    
    

    如果你想改删除表的某些约束,也可以直接使用上面这个语句,这个语句的作用就类似重构表的指定字段

    
     - 例如,当一个表本身存在不为空的约束,我想修改它,直接使用该语句
    alter table stu modify score float32
    只要不在该语句后面加 not null ,那么就不会有非空约束。
    
    
    展开全文
  • 表的操作包括创建新表、修改表删除表。 本章将讲解如何在数据库中操作表,包括: 创建表的方法; 表的完整性约束条件; 查看表结构的方法; 修改表的方法; 删除表的方法。 6.1 创建表 MySQL中

    第6章 创建、修改和删除表

        表是数据库存储数据的基本单位。
        一个表包含若干字段或记录。
        表的操作包括创建新表、修改表和删除表。
        本章将讲解如何在数据库中操作表,包括:
            创建表的方法;
            表的完整性约束条件;
            查看表结构的方法;
            修改表的方法;
            删除表的方法。
    

    6.1 创建表

        MySQL中,创建表是通过SQL语句CREATE TABLE实现的。
        语法:
            CREATE TABLE 表名 (属性名 数据类型 [完整性约束条件],
                              属性名 数据类型 [完整性约束条件],
                              ...
                              属性名 数据类型
                              );
        说明:
        “表名”参数表示所要创建的表的名称;
        “属性名”参数表示表中字段的名称;
        “数据类型”参数指定字段的数据类型;
        “完整性约束条件”参数指定字段的某些特殊约束条件。
    
        注意:
        使用CREATE TABLE语句创建表时,首先要使用USE语句选择数据库。
        定义时,字母大小写均可,各属性之间用逗号隔开,最后一个属性后不需要加逗号。
        例如:
        CREATE TABLE example0(id INT,
                              name VARCHAR(20),
                              sex BOOLEAN
                              );
    
        完整性约束条件是对字段进行限制。要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库将不执行用户的操作。目的是为了保证数据库中数据的完整性。
    

    这里写图片描述

    6.1.2 设置表的主键

    主键能唯一地标识该表中的每条信息。
    主键用来标志每个记录,每个记录的主键值都不同。
    设置表的主键指在创建表时,设置表的某个字段为该表的主键。
    主键的主要目的是帮助MySQL以最快的速度查找到表中的某一条信息。
    主键必须满足的条件必须是唯一的,表中任意两条记录的主键字段的值不能相同;主键的值是非空值。
    主键可以是单一的字段,也可以是多个字段的组合。
    1.单字段主键
        语法规则:
        属性名 数据类型 PRIMARY KEY
        例子见书上。
    2.多字段主键
        主键是由多个属性组合而成时,在属性定义完之后统一设置主键。
        语法:
            CREATE TABLE example2(stu_id INT,
                                  course_id INT,
                                  grade FLOAT,
                                  PRIMARY KEY(stu_id, course_id)
                                  );
    

    6.1.3 设置表的外键

        如果字段sno是一个表A的属性,且依赖于表B的主键,那么,称表B为父表,表A为子表,sno为表A的外键。
        通过字段sno将父表B和子表A建立关联关系。
        设置表的外键指在创建表设置某个字段为外键。
        设置外键的原则是,必须依赖于数据库中已存在的父表的主键;外键可以为空值。
        外键的作用:
        建立该表与其父表的关联关系。父表中删除某条信息时,子表中对应的信息也必须有相应的改变。     
        语法规则:
            CONSTRAINT 外键别名 FOREIGN KEY(属性1.1, 属性1.2, ..., 属性1.n)
                       REFERENCES 表名(属性 2.1, 属性2.2, ..., 属性2.n)
        具体例子见书上。
        说明:
        “外键别名”参数是为外键的代号;
        “属性1”参数列表是子表中设置的外键;
        “表名”参数是指父表的名称;
        “属性2”参数列表是父表的主键。
        注意:
        子表的外键关联的必须是父表的主键,而且,数据类型必须一致。
    

    6.1.4 设置表的非空约束

        非空性是指字段的值不能为空值(NULL)。非空约束将保证所有记录中该字段都有值。如果新插入的记录中,该字段为空值,则数据库系统会报错。
        设置表的非空约束是指在创建表时为表的某些特殊字段加上NOT NULL约束条件。
        语法:
        属性名 数据类型 NOT NULL
        具体例子见书上。
    

    6.1.5 设置表的唯一性约束

        唯一性是指所有记录中该字段的值不能重复出现。
        设置表的唯一性约束是指在创建表时,为表的某些特殊字段加上UNIQUE约束条件。
        唯一性约束将保证所有记录中该字段的值不能重复出现。
        语法:
            属性名 数据类型 UNIQUE
    

    6.1.6 设置表的属性值字典增加

        AUTO_INCREMENT是MySQL数据库中一个特殊的约束条件。
        主要用于为表中插入的新纪录自动生成唯一的ID。
        一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。
        语法:
        属性名 数据类型 AUTO_INCREMENT
        技巧:
        通常情况下,AUTO_INCREMENT都是作为ID字段的约束条件,而且将ID字段作为表的主键。
    

    6.1.7 设置表的属性的默认值

        创建表时,可以指定表中字段的默认值。
        如果插入一条新的记录时,没有为这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。
        语法规则:
            属性名 数据类型 DEFAULT 默认值
        具体例子见书上。
        如果没有使用DEFAULT关键字指定字段的默认值,也没有指定字段为非空,那么字段的默认值为空(NULL)。
    

    6.2 查看表结构

        查看表结构是指查看数据库中已存在的表的定义。
        包括:
            DESCRIBE语句;
            SHOW CREATE TABLE语句。
        说明:
        可以查看表的字段名、字段的数据类型、完整性约束条件等。     
    

    6.2.1 查看表基本结构语句DESCRIBE

        语法形式:
            DESCRIBE(或DESC) 表名;
        例如:
            DESC example1;
    

    6.2.2 查看表详细结构语句SHOW CREATE TABLE

        可以查看:
        表的字段名;
        字段的数据类型;
        完整性约束条件;
        表默认的存储引擎;
        字符编码。
        语法形式:
            SHOW CREATE TABLE 表名;
        详细例子见书上。
    

    6.3 修改表

        修改表是指修改数据库中已存在的表的定义。
        MySQL中通过ALTER TABLE来修改表。
        修改表包括:
        修改表名;
        修改字段数据类型;
        修改字段名;
        增加字段;
        删除字段;
        修改字段的排列位置;
        更改默认的存储引擎;
        删除表的外键约束等。
    

    6.3.1 修改表名

        语法形式:
        ALTER TABLE 旧表名 RENAME [TO] 新表名;
        说明:
        TO参数是可选参数,是否在语句中出现不会影响语句的执行。
    

    6.3.2 修改字段的数据类型

        语法:
            ALTER TABLE 表名 MODIFY 属性名 数据类型;
            说明:
            “表名”指所要修改的表的名称;
            “属性名”指需要修改的字段的名称;
            “数据类型”指修改后的新数据类型。
    

    6.3.3 修改字段名

        语法:
            ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
        1.只修改字段名
        2.修改字段名和字段数据类型
            说明:MODIFY与CHANGE的区别详细见书上。
    

    6.3.4 增加字段

        语法:
            ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST| AFTER 属性名2];
        说明:
            “属性名1”参数指需要增加的字段的名称;
            “数据类型”参数指新增加字段的数据类型;
            “完整性约束条件”是可选参数,用来设置新增字段的完整性约束条件;
            “FIRST”参数也是可选参数,作用是将新增字段设置为表的第一个字段;
            “AFTER 属性名2”参数也是可选参数,作用是将新增字段添加到“属性名2”所指的字段后。
            如果执行的SQL语句中没有“FIRST”“AFTER 属性名”参数指定新增字段的位置,新增的字段默认为表的最后一个字段。
        1.增加无完整性约束条件的字段
        一个完整的字段包括字段名、数据类型、完整性约束条件。
        增加字段一般包括上述内容。
        根据实际情况,一些字段可以不用完整性约束条件进行约束。
        例如:
            ALTER TABLE user ADD phone VARCHAR(20);
        2.增加有完整性约束条件的字段
        增加字段时,可以设置该字段的完整性约束条件,如设置字段是否为空(NULL)、是否为主外键(Key)、默认值(Default)、是否为自增类型等约束条件。
        例如:
            ALTER TABLE user ADD age INT(4) NOT NULL;
        注意:
        增加字段时,如果能够加上完整性约束条件,一定要加上。这样可以保证字段的安全性,提高整个表的数据的安全性。
        3.表的第一个位置增加字段
        默认情况下,新增字段为表的最后一个字段。如果加上FIRST参数,则可以将新增字段设置为表的第一个字段。
        例如:
            ALTER TABLE user ADD num INT(8) PRIMARY KEY FIRST;      
        4.表的指定位置之后增加字段
        在新增字段时,由于特殊原因需要在表的指定位置增加字段。如果加上“AFTER 属性名2”参数,那么新增的字段插入在“属性名2”后面。
        例如:
        ALTER TABLE user ADD address VARCHAR(30) NOT NULL AFTER phone;
    

    6.3.5 删除字段

        删除字段是指删除已经定义好的表中的某个字段。在表创建完之后,如果发现某个字段需要删除,可以采用将整个表都删除,然后重新创建一张表的做法。
        语法:
        ALTER TABLE 表名 DROP 属性名;
        说明:
        “属性名”参数指需要从表中删除的字段的名称。
        例如:
        ALTER TABLE user DROP id;
    

    6.3.6 修改字段的排列位置

        语法:
            ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;
        说明:
        “属性名1”参数指需要修改位置的字段的名称;
        “数据类型”参数指“属性名1”的数据类型;
        “FIRST”参数指定位置为表的第一个位置;
        “AFTER 属性名2”参数指定“属性名1”插入在“属性名2”之后。
        1.字段修改到第一个位置
        FIRST参数可以指定字段为表的第一个字段。
        2.字段修改到指定位置
        ALTER可以将字段排在表中指定的字段之后。
        例如:
            ALTER TABLE user MODIFY sex TINYINT(1) AFTER age;
    

    6.3.7 更改表的存储引擎

        MySQL存储引擎是指MySQL数据库中表的存储类型。
        MySQL存储引擎包括InnoDB、MyISAM、MEMORY等。
        语法:
        ALTER TABLE 表名 ENGINE=存储引擎名;
    

    6.3.8 删除表的外键约束

        在创建表时,外键约束就已经设定好了。
        由于特殊需要,与父表之间的关联关系需要去除,要求删除外键约束。
        语法:
            ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
    

    6.4 删除表

        在创建表时可能存在外键约束,一些表成为了与之关联的表的父表。要删除这些父表,情况比较复杂。
    

    6.4.1 删除没有被关联的普通表

        DROP TABLE 表名;
    

    6.4.2 删除被其他表关联的父表

        创建表时,设置表的外键。这样就使数据库中的某些表之间建立了关联关系。一些表成为了父表,这些表被其子表关联着。直接删除会删除失败,原因是有外键依赖于该表。
        先删除子表的外键约束,然后再删除父表。这种办法,不会影响子表的其他数据,可以保证数据库的安全。
        详细操作和例子见书上。
    

    6.7 常见问题及解答

        1.字段改名后,为什么会有部分约束条件丢失?
        2.如何设置外键?
        3.为什么自增字段不能设置默认值?
    

    参考文献:
    1.《MySQL入门很简单》

    展开全文
  • 当用户修改表结构时,sap会自动创建临时表,临时表的名称为:'QCM'+表名。这个临时表用于先将需要改变结构的表数据保存下来,当新表结构完成后,系统会将临时表的数据拷贝回数据表。 临时表在sap3.0版本前始终保存在...

    当用户修改表结构时,sap会自动创建临时表,临时表的名称为:'QCM' +表名。这个临时表用于先将需要改变结构的表数据保存下来,当新表结构完成后,系统会将临时表的数据拷贝回数据表。

    临时表在sap3.0版本前始终保存在数据库中,3.0以后版本只有在数据拷贝不成功时才保存在数据库中,否则会自动删除。

    如果要删除这些临时表,用户可以执行Tcode:se14->Extras ® Invalid temp. table 进行查询和删除。

    注意:当你要进行系统拷贝时,你必须在"export", 必须从系统中删除这些QCM表,否则导入会出错.

    sap关于修改表结构时发生的操作说明如下:

    Conversion Process 

    Table TAB was changed in the ABAP Dictionary. At this time the length of a field (Field 3) was reduced from 60 to 30 places. The ABAP Dictionary therefore contains an active version (where the field has a length of 60 places) and a revised version (where the field only has a length of 30 places) of the table.

    The active version of the table is created in the database, that is Field 3 currently has 60 places in the database. Two secondary indexes that were also created in the database are defined in the ABAP Dictionary for the table. The table already contains data.

    Reducing the length of a field results in a table conversion. The table is converted in a series of 7 steps.

    Step 1: Set Lock

    The table is locked against further structural changes. This lock mechanism prevents a new structural change from being made before the conversion has finished correctly.

    All the views that use the table are deleted from the database.

    Step 2: Rename Table

    The table is renamed in the database. All indexes on the table are deleted. The name of the new table consists of the prefix QCM and the table name. The name of the temporary table for table TAB is thus QCMTAB. If in the database a table named QCMTAB already exists (for example, from a previous conversion attempt), this table is deleted before renaming the table.

    This graphic is explained in the accompanying text

    Step 3: Activating Tables

    The revised version of the table is activated in the ABAP Dictionary. Thus the ABAP Dictionary contains only one active version of table TAB, in which field 3 has a length of 30.

    The table TAB is created in the database with its new structure under the name QCM8TAB. In addition, the primary index of the table is created in the database. The structure of database table QCM8TAB thus corresponds to the structure of table TAB in the ABAP Dictionary after this step. The database table does not, however, contain any data.

    This graphic is explained in the accompanying text

    Step 4: Reload Data

    The data is copied from table QCMTAB to table QCM8TAB (with the ABAP command MOVE-CORRESPONDING). After this step, the data is present in both tables, requiring additional space. Before converting large tables, you should therefore check whether the relevant tablespace has enough space left.

    You can find information about how existing entries are handled in a field when the field type changes in the ABAP documentation about the MOVE-CORRESPONDING statement.

    When you copy data from table QCMTAB into table QCM8TAB, a database commit is stored after 16 MB. The conversion process therefore needs 16 MB of resources in the rollback segment.

    This graphic is explained in the accompanying text

    When the length of a field is reduced, the extra places are truncated when the field is reloaded. When the length of a key is reduced and there are several records whose new key cannot be distinguished, only one of these records can be reloaded. In general it is not possible to determine in advance which record this will be. In such a case, you should clean up the data of the table before conversion.

    Step 5: Delete the QCM Table

    The data in table QCMTAB is no longer required at the end of the conversion. The table is therefore deleted, provided that all records could be copied from table QCMTAB into table QCM8TAB. If duplicate records appeared in table QCM8TAB, for example, because the key of table TAB was shortened, table QCMTAB is kept for safety reasons.

    Step 6: Rename Table and Create Secondary Indexes

    Table QCM8TAB is renamed to TAB. The secondary indexes on the table defined in the ABAP Dictionary are newly created in the database. The views on the table that were deleted in the first step are also newly created in the database.

    Step 7: Remove the Lock

    The lock set at the beginning of the conversion is removed.

    This graphic is explained in the accompanying text

    Note

    The table data is only consistent again once Step 4 has been completed. For this reason, programs must not access the table while the conversion is running. Otherwise a program could behave incorrectly when reading the table since some of the records were not yet copied back from the temporary table. For this reason conversions may not be running during production. At least all the applications that use the table to be converted must be deactivated.

    If the conversion terminates, the table stays locked is a reset log is written. Each successful step of the conversion is recorded in this reset log. The restart log is deleted together with the lock when the conversion has been completed. If the conversion terminates (see

    You must clean up terminated conversions!

    Programs that access tables might otherwise not execute correctly. You must find out why the conversion terminated (for example overflow of the corresponding tablespace) and correct it. You must then continue the terminated conversion (see Conversion Problems), you can find the place where the conversion terminated in the reset log (last step to be executed).Continuing Terminated Conversions).

     

    The following example shows the steps necessary for a conversion

    Initial Situation

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/92530/viewspace-154859/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/92530/viewspace-154859/

    展开全文
  • alter table 表名 drop 删除表中的列 alter table 表名 modify 修改表中列的定义 alter table 表名 change 修改表的列名和定义 实例: 1.创建表 create table visitor( mid char(5) not null, na...
  • 1、如何创建表结构? 语法格式如下: CREATETABLE[IFNOTEXISTS]表名( 字段1数据类型[完整性约束条件], 字段2数据类型[完整性约束条件], .... 字段n数据类型[完整性约束条件] ); 说明 :[IF NOT ...
  • SQL:创建修改表

    2020-03-28 15:25:00
    这一节记录如何创建修改表。怎么增加删除列,修改属性,设置主键,外键等 创建普通表 create table 表名 (列 数据类型 约束或默认值, 列 数据类型 约束或默认值, ,... ) 例如我们要创建一个学生表,那么我们要...
  • 2.2 分区表修改 2.3 对分区表进行查询 3、触发器、存储过程、job查看 4、数据库用户添加、默认表空间指定 4、索引创建删除 5、约束创建删除 6、表空间创建及扩展 7、表空间相关操作 一、建立表空间 二...
  • MySQL 如何修改、添加、删除表主键

    千次阅读 2018-11-08 16:47:36
    在我们使用mysql的时候,有时会遇到须要更改或者删除mysql的主键,我们能够简单的使用 ...1、首先创建一个数据table_test: create table test( id varchar(100) NOT NULL, name varchar(100) NOT N...
  • 在我们使用mysql的时候,有时会遇到须要更改或者删除mysql的主键,我们能够简单的使用alter table table_name drop primary key;...1、首先创建一个数据table_test:create table table_test(`id` varchar(100) N...
  • 数据库、表的创建及修改数据库的创建与删除表的创建与修改向表中插入数据举例插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何...
  • 因为在创建修改过程中,会生成一些日志信息,存在数据库里面,必须将日志删除后才会成功。日志信息会存储到下里面。 sqlmigrate booktest 00023.migrate 转载于:...
  • 1、首先创建一个数据tab: create table test( id varchar(100) NOT NULL, name varchar(100) NOT NULL, PRIMARY KEY (name) ) 2、如果发现主键设置错了,应该是id是主键,但如今表里已经有好多数据了,不能删除...
  • MySQL数据创建删除修改 1. MySQL的存储引擎 存储引擎 就是如何存储数据、如何更新数据、如何查询数据、如何为存储的数据建立索引等一系列技术的实现方法。 使用如下语句查询MySQL的存储引擎 SHOW ENGINES;...
  • WordPress 教程:如何通过 PHP 代码修改表结构和索引,我们在 WordPress 创建表之后,由于业务的需求,可能需要对表结构进行修改,比如增加多一些字段,或者删除一些无用的字段,也有可能因为优化的问题需要对某个表...
  • 给大家介绍了如何查看、创建以及修改数据库与数据的编码格式,另外还给大家分享了添加和删除外键的示例代码,文中介绍的很详细,对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们下面来一起学习学习吧。
  • 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 随着数据量的逐渐增大,使用数据库管理系统来管理数据...
  • 数据库和数据表创建删除

    千次阅读 2015-05-18 20:04:59
    由于数据库的知识尚处于初学阶段,对于一些知识还不是很了解,所以不免会...那就是如何启动SQL Server 2008和数据库以及数据创建以及删除。  在网上着了很多的数据库视频讲解,最终选择了我要自学网的讲解视频(SQ
  • MySql之创建、插入与删除

    千次阅读 2021-01-02 20:24:51
    创建MySQL中的数据类型char和varchar如何选择BLOB和CLOB类型的使用2>中插入数据修改数据删除数据怎么删除3>删4>结构修改 1>创建 建表语句得到语法格式: create table 表名{ 字段名1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,293
精华内容 517
关键字:

如何创建表修改表删除表