`

MySQL创建和操纵表create、alter

阅读更多
1. 创建表

创建表
SQL> create table customers
(
  cust_id      int       not null auto_increment,
  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 ,
  primary key (cust_id)
) engine=innodb;

SQL> create table orders
(
  order_num  int      not null auto_increment,
  order_date datetime not null ,
  cust_id    int      not null ,
  primary key (order_num)
) engine=innodb;

SQL> create table vendors
(
  vend_id      int      not null auto_increment,
  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 ,
  primary key (vend_id)
) engine=innodb;

使用auto_increment
指定默认值
SQL> 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 ,
  primary key (order_num, order_item)
) engine=innodb;

1. 定义主键可以使用 primary key(cust_id)
2. 规定表字段是否可以为null使用 null 或者 not null,两者可以混合使用
3. null值:是没有值;
   空串:是一个有效是值,即'';
4. 主键必须唯一,但是可以有多个列。primary key(order_num, order_item)
5. 使用auto_increment实现主键自增长
6. 使用default xxx指定字段的默认值
7. 引擎类型 engine=innodb
    innodb:一个可靠的事物处理引擎,它不支持全文本搜索
    memory:功能等同于myisam,但由于数据存储在内存中(不是磁盘),速度很快(特别适合于临时表)
    myisam:一个性能极高的引擎,它支持全文本搜索,但不支持事务处理


2. 更新表

增加列
SQL> alter table vendors add vend_phone char(20);

删除列
SQL> alter table drop colunm vend_phone;

定义外键
SQL> alter table orderitems add constraint fk_orderitems_orders foreign key (order_num) references orders (order_num);
SQL> alter table orderitems add constraint fk_orderitems_products foreign key (prod_id) references products (prod_id);
SQL> alter table orders add constraint fk_orders_customers foreign key (cust_id) references customers (cust_id);
SQL> alter table products add constraint fk_products_vendors foreign key (vend_id) references vendors (vend_id);

删除表
SQL> drop table customers2;

重命名表
SQL> rename table customers2 to customers;

1. 使用alter table修改表结构
2. 使用drop table删除表
3. 使用rename table aaa to bbb重命名表
分享到:
评论

相关推荐

    mysql数据库实验报告 数据表的操作

    通过实际操作,我们将掌握如何创建和修改表结构,设置表约束,以及处理表数据的插入、删除和修改。此外,还将学习如何建立表之间的联系,这对于构建复杂的数据库系统至关重要。 一、数据库操作 1. 创建数据库:使用...

    小白必看MySQL创建数据库和创建数据表.docx

    ### MySQL 创建数据库与数据表详解 #### 一、SQL 语言概述...通过以上步骤,我们可以成功地在 MySQL 中创建数据库和数据表,并进行基本的数据操作。这对于初学者来说是非常重要的基础技能。希望这些内容对你有所帮助!

    MySQL形考任务2

    我们使用 CREATE TABLE 语句创建表,并使用 ALTER TABLE 语句修改表结构。 三、索引的操作 索引是提高数据库查询性能的重要工具。在实验中,我们在 stuinfo 表的 stuno 字段上创建了一个索引,并在 stuandcour 表的...

    国家开放大学 数据库运维 形考2 MySQL数据库对象管理

    通过对 INFORMATION_SCHEMA 中各个表的查看、创建、修改和删除操作,学生将熟悉 MySQL 中的数据库对象管理。 一、数据字典 数据字典是指数据库系统中关于数据库结构的信息集合。 MySQL 中的数据字典是通过 ...

    MySQL 表操作及表中数据操作.pdf

    创建数据表(CREATE TABLE)是数据库设计中的第一步,需要定义表名、字段名称和字段类型,以及任何的约束条件,例如主键(PRIMARY KEY)、自增(AUTO_INCREMENT)、非空(NOT NULL)和默认值(DEFAULT)。...

    Mysql45讲pdf版

    5. 表操作:学会创建、修改和删除表,包括主键和外键的设定,以及索引的创建和管理,以提高查询效率。 6. 视图:了解视图的概念,它是虚拟表,基于一个或多个表的查询结果。视图可以简化复杂的查询,并提供数据安全...

    MySQL 必知必会 21-30.pdf

    在MySQL数据库管理中,了解并熟练掌握创建和操纵表、使用视图、存储过程、游标、触发器以及事务处理是非常关键的技能。本摘要涵盖了MySQL必知必会的第21至30章,主要知识点如下: 1. **创建和操纵表**: - `CREATE...

    MySQL中文参考手册

    - **创建表**:使用CREATE TABLE语句定义表结构。 - **修改表**:ALTER TABLE语句用于添加、修改或删除列。 - **删除表**:DROP TABLE语句。 6. **数据操作** - **插入数据**:INSERT INTO语句。 - **查询数据...

    项目4 创建与维护MySQL数据库.pptx

    1. 数据定义语言(DDL):用于创建和修改数据库结构,如CREATE TABLE、ALTER TABLE等。 2. 数据操纵语言(DML):用于插入、更新和删除数据,如INSERT INTO、UPDATE、DELETE等。 3. 数据控制语言(DCL):用于控制...

    MySQL语句大全

    MySQL 语句大全 MySQL 是一种关系型数据库管理系统,widely used in ...本资源总结了 MySQL 语句的基础知识点,涵盖了数据定义语言、数据操纵语言和高级查询运算词等方面,旨在帮助读者更好地理解和使用 MySQL 语句。

    MYSQL培训经典教程

    2. 索引创建与管理:CREATE INDEX和ALTER TABLE语句用于创建和修改索引。 3. 查询优化:通过分析执行计划、选择合适的索引、避免全表扫描等方式提高查询效率。 六、事务处理 1. 事务概念:事务是一系列数据库操作的...

    MySQL实用教程课后答案

    - 实践创建数据库和表的具体步骤。 **实验3 表数据插入、修改和删除** - 掌握如何向表中添加新记录、更新现有记录以及删除记录。 **实验4 数据库的查询和视图** - **实验4.1 数据库的查询** - 掌握基础查询和...

    mysql参考手册中文版

    1. 数据定义语言(DDL):用于创建和修改数据库结构,如CREATE TABLE用于创建表,ALTER TABLE用于修改表结构。 2. 数据操纵语言(DML):用于插入、更新和删除数据,如INSERT INTO用于插入数据,UPDATE用于更新数据...

    MySQL基础和加强(高级)

    在MySQL中,创建数据库使用`CREATE DATABASE`语句,例如`CREATE DATABASE mydb DEFAULT CHARACTER utf8;`,这会创建一个名为mydb的新数据库,并设置默认字符集为UTF-8。删除数据库使用`DROP DATABASE`,如`DROP ...

    MYSQL参考资料

    4. SQL基础:学会使用CREATE DATABASE、CREATE TABLE语句创建数据库和表,INSERT语句插入数据,SELECT语句进行数据查询,UPDATE和DELETE用于更新和删除数据。 二、MySQL 5.0新特性 1. 存储引擎改进:InnoDB存储引擎...

    mysql教程--英文版

    3. 数据定义语言(DDL):了解CREATE、ALTER和DROP语句,用于创建、修改和删除表结构。 4. 视图:学习如何创建和使用视图,以简化复杂查询或保护数据。 三、数据库设计与范式 1. 数据库设计:讨论需求分析、实体...

    经典mysql语句大全

    本文将详细介绍MySQL中的经典SQL语句,包括数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)。 1. 数据定义语言(DDL): - CREATE DATABASE用于创建新的数据库,例如`CREATE DATABASE mydb;` - ...

    小度写范文【mysql,sql语句大全】mysql数据库sql语句大全模板.docx

    DDL用于创建和修改数据库结构。主要包括: - `CREATE DATABASE` 用于创建新的数据库。 - `ALTER DATABASE` 用来改变数据库的属性,如字符集、排序规则等。 - `CREATE TABLE` 用于创建新的表,定义列的数据类型、...

    MySQL数据库考试测试试题(附答案).doc

    这份MySQL数据库考试测试试题涵盖了MySQL数据库的多个方面,包括单项选择题、聚合函数、游标、SELECT语句、条件表达式、CREATE TABLE语句、ALTER TABLE语句、DROP TABLE语句、视图、索引、事务处理、子查询、正则...

    MySql学习笔记整合,看完之后,原来sql这么简单

    3. DDL(数据定义语言):包括`create`、`drop`、`alter`,用于定义和修改表结构。 三、DDL操作详解 1. `CREATE`:创建表、索引等,如`create table 表名 (字段列表);` 2. `DROP`:删除表、索引等,如`drop table ...

Global site tag (gtag.js) - Google Analytics