1. 创建表的方法

1)创建表的语法形式

首先,选择数据库:

USE  数据库名;

创建表:

CREATE TABLE 表名 (属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
属性名 数据类型
);

2)设置表的主键

主键用于标识每一个记录, 主键必须唯一。

单字段主键: 主键是由一个字段构成的

语法规则:        属性名  数据类型  PRIMARY KEY

例子:

CREATE TABLE example1(stu_id INT PRIMARY KEY,
stu_name VARCHAR(20),
stu_sex BOOLEAN
);

多字段主键:主键由多个属性组合而成,在属性定义完之后统一设置主键

语法:  PRIMARY KEY (属性名1,  属性名2,... ,  属性名n)

例子:

CREATE TABLE example2( stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY(stu_id, course_id)
);

3)设置表的外键

CREATE TABLE example2( stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY(stu_id, course_id)
); 在example3表中设置stu_id 和course_id 为外键,与之相关联的example1表中的主键stu_id和course_id CREATE TABLE example3( id INT PRIMARY KEY,
stu_id INT,
course_id INT,
CONSTRAINT c_fk FOREIGN KEY (stu_id, course_id)
REFERENCES example2(stu_id, course_id)
); 运行后,example3表中包含3个字段,其中,id字段是主键;stu_id和course_id字段为外键; c_fk是外键的别名;
example2表称为example3表的父表;example3表的外键依赖于父表example3的主键stu_id和course_id

4)表的非空约束

非空约束:在创建表的某些特殊字段加上 NOT NULL 约束条件

CREATE TABLE example4( id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
stu_id INT,
CONSTRAINT d_fk FOREIGN KEY (stu_id)
REFERENCES example1(stu_id)
);

5)表的唯一性约束

唯一性:所以记录中该字段的值不能重复出现

CREATE TABLE example5( id INT PRIMARY KEY,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);

6)设置表的属性值自动增加

AUTO_INCREMENT用于为表中插入的新记录自动生成唯一的ID,一个表只能有一个字段使用AUTO_INCREMENT约束,并且该字段必须为主键的一部分。

CREATE TABLE example6( id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);

7)设置表的属性的默认值

可以为表的字段指定默认值,如果插入一条新的记录时没有为这个字段赋值,那么数据库系统会自动为这个字段插入默认值,默认值通过DEFAULT关键字设置。

CREATE TABLE example7( id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL,
English VARCHAR(20) DEFAULT 'zero',
Math FLOAT DEFAULT 0,
Computer FLOAT DEFAULT 0
);

2.查看表结构

查看表基本结构  :   DESCRIBE 表名; 或缩写  DESC 表名;

查看详细结果: SHOE CREATE TABLE 表名;

        SHOE CREATE TABLE 表名 \G

3.修改表的方法

修改表名: ALTER TABLE 旧表名 RENAME [TO] 新表名;

修改字段数据类型: ALTER TABLE 表名 MODIFY 属性名 数据类型;

修改字段名:ALTER TABLE 表名 CHANGE 旧属性名 [新数据类型];

增加字段: ALTER TABLE 表名 ADD 属性名1  数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

删除字段: ALTER TABLE 表名 DROP 属性名;

修改字段的排列位置: ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER  属性名2;  (说明: FIRST指定位置为表的第一个位置; AFTER 属性名2 指定属性名1 插入在属性名2 之后)

更改表的存储引擎:ALTER TABLE 表名 ENGINE=存储引擎(InnoDB, MyISAM,  MEMORY);

删除表的外键约束: ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;

4.删除表的方法

删除没有被关联的普通表: DROP TABLE 表名; 

删除被其他表关联的父表: 
  第一种方法: 先删除子表,再删除父表;
  第二种方法:先删除子表的外键约束,再删除父表;

MySQL入门很简单: 4 创建 修改删除表的更多相关文章

  1. 《Mysql 入门很简单》(读后感①)

    下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...

  2. oracle11g创建修改删除表

    oracle11g创建修改删除表 我的数据库名字: ORCL         密码:123456 1.模式 2.创建表 3.表约束 4.修改表 5.删除表 1.模式 set oracle_sid=OR ...

  3. MySQL入门很简单: 13 数据备份和还原

    1. 数据备份 1)使用mysqldump命令备份 第一种:备份一个数据库 mysqldump -u username -p dbname table1 table2 ... > BackupN ...

  4. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...

  5. MySQL入门很简单: 1 数据库概述

    1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...

  6. Mysql创建修改删除-表

    创建表之前要链接到库  例如  库名为 student use student; 连接结束可以查看此库中所有表 show tables; 创建表 create table student( id in ...

  7. MySQL入门很简单: 9 插入 更新与删除数据

    1. 插入数据:INSERT 1)为表的所有字段插入数据 第一种: 不指定具体的字段名 INSERT INTO 表名 VALUES(值1,值2,...,值n): 第二种:INSERT语句中列出所有字段 ...

  8. MySQL入门很简单: 6 视图

    1. 视图含义作用 视图是虚拟的表,是从数据率中一个或多个表中导出来的表:  数据库中只存放了视图的定义,没有存放视图中的数据,数据在原先的表中:  一旦表中的数据发生变化,显示在视图中的数据也会发生 ...

  9. MySQL入门很简单-触发器

    1.触发器是由事件来触发某个操作,这些事件包括insert语句.update语句和delete语句.当数据库系统执行这些事件时,会激活触发器执行相应操作.MySQL从5.0.2开始支持触发器.使用触发 ...

随机推荐

  1. P3970 [TJOI2014]上升子序列

    传送门 DP 十分显然的DP,但是不好写 设 f[ i ] 表示以第 i 个数作结尾时的方案数,原序列为 a 如果不考虑相同的序列: 那么转移就是 Σ f[ j ] (0< j < i & ...

  2. LDAP环境搭建 OpenLDAP和phpLDAPadmin -- yum版

      前言: 前两天公司要求做一个使用LDAP和Kerberos做一个认证授权系统,然后开始学习LDAP相关知识,期间找了不少博客按照步骤来安装,可是很多博客在配置的时候,都会遇到安装过程中一两个问题卡 ...

  3. C#学习 - 关于Interlocked.CompareExchange()的用法

    https://blog.csdn.net/jianhui_wang/article/details/80485517 Interlocked.CompareExchange有一组函数   名称 说明 ...

  4. Linux Vi/Vim 在插入模式下键盘右边数字键输入异常

    问题:Linux在 Vi/Vim 在编辑文件时遇到一个问题,当我在 Insert 模式下进行修改文件内容的时候,用到了键盘(104键,右边带数字键那种)进行数字输入,当我输入数字 “5” 时,插入的数 ...

  5. java——HashMap、Hashtable

    Map:类似Python的字典 HashMap: 不支持线程的同步,即同一时刻不能有多个线程同时写HashMap: 最多只允许一条记录的键值为null,不允许多条记录的值为null HashMap遍历 ...

  6. hive - load CSV file NULL value 加载csv文件出现结果全是空值

    这个问题的根源是,创建表的时候没有指定列分隔符还有行分隔符. 因此修改建表语句 问题依然重现,此问题苦恼了一个下午,有一次用describe tablename 发现了问题所在,原来是一直没有删除ta ...

  7. 转 Logs are not shipped to the physical standby database

    http://www.oracle-ckpt.com/dataguard_troubleshoot_snapper/ ######sample primay scripts: spool dg_Pri ...

  8. OfficeControl插件的用法

    项目中需要用到文档在线编辑的功能,网上找到这篇文章: http://hi.baidu.com/hurtingwings/item/bf83b6343305a94e3075a19e

  9. inventor怎样卸载干净

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  10. 比特币--私钥->公钥->钱包地址

    脑钱包-字符串SHA256散列成256bit当做私钥-彩虹表 脑钱包是开源的程序-->用户输入字符串当做密码-->经过SHA256散列算法-->256长bit位 (即是私钥)--&g ...