mysql-创建和操作表
一、建表
为了用程序创建表,我们可以使用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-创建和操作表的更多相关文章
- MySQL数据库(1)- 数据库概述、MySQL的安装与配置、初始SQL语句、MySQL创建用户和授权
一.数据库概述 1.什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机. 在计 ...
- oracle与mysql创建表时的区别
oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...
- Mysql创建用户并授权
运行命令行 mysql -uroot -p 登录mysql use mysql; 创建用户:create user 'test123'@'localhost' identified by '12345 ...
- mysql 创建数据库和表格
mysql创建utf-8字符集数据库 CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; creat ...
- Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES)
MySQL创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES) ,多半是因为存在匿名用户, ...
- mysql创建数据库
mysql创建数据库 创建utf8编码的数据库 CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_ ...
- mysql创建数据库指定编码uft8
mysql创建数据库指定编码uft8 CREATE DATABASE IF NOT EXISTS my_db default character set utf8 COLLATE utf8_gener ...
- MySQL创建索引语法
1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...
- MySQL创建一个用户,指定一个数据库 授权
Mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...
- mysql创建用户
mysql创建用户 创建用于localhost连接的用户并指定密码 mysql> create user 'pcom'@'localhost' identified by 'aaa7B2249' ...
随机推荐
- NOIP2018提高组省一冲奖班模测训练(四)
NOIP2018提高组省一冲奖班模测训练(四) 这次比赛只AC了第一题,而且花了40多分钟,貌似是A掉第一题里面最晚的 而且还有一个半小时我就放弃了…… 下次即使想不出也要坚持到最后 第二题没思路 第 ...
- 基于bootstrap的分页组件-Bootstrap Paginator
效果
- PL/SQL基本语法
*2.PL/SQL基本语法 1)匿名块 一段不能在数据库存储的PL/SQL. 基本结构如下: DECLARE //变量的声明定义区域(可省略) BEGIN //业务处理 ...
- C/s模式与B/S模式
C/S模式事是client/server,即客服端/服务模式
- echarts 柱状图和饼状图动态获取后台数据
运用echarts来实现图表 1.首先下载echarts包 http://echarts.baidu.com/echarts2/doc/example.html,在这里我下载的是 2.将echart ...
- test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下
test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下 Maven的标准工程结构 Maven的标准工程结构如下: |-- pom.xml(maven的核心配置文件 ...
- 电脑显示U盘,可是读取不了
问题: 我的一个内存卡没用,放到了读卡器上.刚開始能用,可是到了后来,突然之间发现: 插入读卡器之后,仅仅是在U下角显示有有U盘提示,提示"打开设备和打印"或者"安全删除 ...
- 开源TT框架上的日志类
public class Logger { /** * log tag */ private String tagName = "MoGuLogger";// tag name / ...
- AutoCompleteTextView和Spinner的使用方法
首先说明AutoCompleteTextView的使用方法.主要是起到自己主动填充的作用.输入keyword,假设存在该字便能够自己主动填充.代码例如以下 activity_main.xml < ...
- JAVA设计模式之【命令模式】
命令模式 为了降低耦合度,将请求的发送者和接收者解耦 发送请求的对象只需要哦知道如何发送请求,而不必知道如何完成请求 对请求排队 记录请求日志 支持撤销操作 核心在于引入命令类 角色 抽象命令类Com ...