一、建表

  为了用程序创建表,我们可以使用SQL的create table 语句。如下:  

  每个列之间用逗号隔开,每列的定义以列名开始,后跟列的数据类型。

  表的主键可以在创建表时用primary key关键字指定。

  这张表使用InnoDB引擎创建。

  

  1、·使用null值:允许null值的列也允许在插入时不给出该列的值。不允许null值的列不接受该列没有值的行。在插入或更新行时,该列必须有值

  ·2、主键primary key:主键必须唯一,即表中的每个行必须具有唯一的主键值,如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合字必须唯一。

  ·3、使用AUTO_INCREMENT:它告诉MYSQL,本列每当增加一行时自动增量,每次执行一个insert操作时,mysql自动对该列增量,给该列赋予下一个可用的值。这样给每行分配一个唯一的id,从而可以用作主键值。每个表只允许一个AUTO_INCREMENT列,而且必须被索引。我们还可以使用如下语句获得最后一个auto_increment的值:

  select last_insert_id();

  此语句返回当最后操作某张表时,如果该张表有AUTO_INCREMENT类型字段当主键,它的最后一个Auto_increment的值,然后你可以将它用作后续的mysql语句。

  ·4、指定默认值:如果插入行时没有给出值,mysql允许指定此时使用的默认值,默认值用default关键字指定。如下:

  

  使用default,如果quantity没有插入值,默认为1;

  

  5、引擎类型:mysql具备多个引擎,每种引擎具备不同的功能和特性,为不同的任务选择正确的引擎能获得良好的功能和灵活性。

  在建表最后一般加上engine=xxx,如果不加的话,默认为MyISAM引擎。常用的有:

  a、InnoDB:是一个可靠地事务处理引擎,但是它不支持全文检索。

  b、MEMORY:在功能上等同于MyISAM,但是由于数据库在内存中,速度很快,适用于临时表

  c、MyISAM:性能极高的引擎,支持全文搜索,不支持事务处理。

二、更新表

  为了更新表定义,可以使用ALTER TABLE语句,但是当该表有数据后,最好就不要修改该表了。

  1、增加列:alter table vendors add vend_phone char(20);

  2、删除列:alter table vendors drop column vend_phone;

  3、定义外键:

    alter table orderitems add constraint fk_orderitems_orders foreign key(order_num) references orders(order_num);

三、删除表、重命名表

  使用drop table语句

  drop table customers2;

    执行这条语句将永远删除该表

  使用rename table 语句可以对表进行改名:

  rename table customers2 to customers;  

  也可以使用如下对多个表进行更改:  

  rename table back_customers to customers,back_vendors to vendors, back_products to products;

mysql-创建和操作表的更多相关文章

  1. MySQL数据库(1)- 数据库概述、MySQL的安装与配置、初始SQL语句、MySQL创建用户和授权

    一.数据库概述 1.什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机. 在计 ...

  2. oracle与mysql创建表时的区别

    oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...

  3. Mysql创建用户并授权

    运行命令行 mysql -uroot -p 登录mysql use mysql; 创建用户:create user 'test123'@'localhost' identified by '12345 ...

  4. mysql 创建数据库和表格

    mysql创建utf-8字符集数据库 CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; creat ...

  5. Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES)

    MySQL创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES) ,多半是因为存在匿名用户, ...

  6. mysql创建数据库

    mysql创建数据库 创建utf8编码的数据库 CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_ ...

  7. mysql创建数据库指定编码uft8

    mysql创建数据库指定编码uft8 CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_gener ...

  8. MySQL创建索引语法

    1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...

  9. MySQL创建一个用户,指定一个数据库 授权

    Mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...

  10. mysql创建用户

    mysql创建用户 创建用于localhost连接的用户并指定密码 mysql> create user 'pcom'@'localhost' identified by 'aaa7B2249' ...

随机推荐

  1. NOIP2018提高组省一冲奖班模测训练(四)

    NOIP2018提高组省一冲奖班模测训练(四) 这次比赛只AC了第一题,而且花了40多分钟,貌似是A掉第一题里面最晚的 而且还有一个半小时我就放弃了…… 下次即使想不出也要坚持到最后 第二题没思路 第 ...

  2. 基于bootstrap的分页组件-Bootstrap Paginator

    效果

  3. PL/SQL基本语法

    *2.PL/SQL基本语法   1)匿名块   一段不能在数据库存储的PL/SQL. 基本结构如下:   DECLARE     //变量的声明定义区域(可省略)   BEGIN     //业务处理 ...

  4. C/s模式与B/S模式

    C/S模式事是client/server,即客服端/服务模式

  5. echarts 柱状图和饼状图动态获取后台数据

    运用echarts来实现图表 1.首先下载echarts包  http://echarts.baidu.com/echarts2/doc/example.html,在这里我下载的是 2.将echart ...

  6. test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下

    test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下 Maven的标准工程结构 Maven的标准工程结构如下: |-- pom.xml(maven的核心配置文件 ...

  7. 电脑显示U盘,可是读取不了

    问题: 我的一个内存卡没用,放到了读卡器上.刚開始能用,可是到了后来,突然之间发现: 插入读卡器之后,仅仅是在U下角显示有有U盘提示,提示"打开设备和打印"或者"安全删除 ...

  8. 开源TT框架上的日志类

    public class Logger { /** * log tag */ private String tagName = "MoGuLogger";// tag name / ...

  9. AutoCompleteTextView和Spinner的使用方法

    首先说明AutoCompleteTextView的使用方法.主要是起到自己主动填充的作用.输入keyword,假设存在该字便能够自己主动填充.代码例如以下 activity_main.xml < ...

  10. JAVA设计模式之【命令模式】

    命令模式 为了降低耦合度,将请求的发送者和接收者解耦 发送请求的对象只需要哦知道如何发送请求,而不必知道如何完成请求 对请求排队 记录请求日志 支持撤销操作 核心在于引入命令类 角色 抽象命令类Com ...