6.1、创建表

6.1.1、创建表的语法形式

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

属性名 数据类型
);

完整性约束条件表:
PRIMARYKEY                 主键
FOREIGNKEY                 外键
NOTNULL                     不能为空
UNIQUE                        唯一索引
AUTO_INCREMENT              自动增加
DEFAULT                        默认值

CREATE TABLE example0 (id INT,
                              name VARCHAR(20),
                              sex    BOOLEAN
                           );

6.1.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_idINT,
                           gradeFLOAT,
                           PRIMARY KEY(stu_id, course_id)
                          );

6.1.3、设置表的外键

CONSTRAINT 外键别名 FOREIGN KEY (属性1.1, 属性1.2,…, 属性1.n)
         REFERENCES表名(属性2.1, 属性2.2,…, 属性2.n)

CREATE TABLE example3(stu_id INT,
                           course_idINT,
                           CONSTRAINTc_fk FOREIGN KEY (stu_id, course_id)
                           REFERENCESexample2(stu_id, course_id)
                    );

6.1.4、设置表的非空约束

CREATE TABLE example4(id INT NOT NULL PRIMARYKEY,
                           name VARCHAR(20)NOT NULL,
                           stu_id INT,
                           CONSTRAINTd_fk FOREIGN KEY(stu_id),
                           REFERENCE Sexample1(stu_id)
                                     );

6.1.5、设置表的唯一性约束

属性名 数据类型 UNIQUE
CREATE TABLE example5(id INTPRIMARY KEY,
                           stu_id INT UNIQUE,
                           name VARCHAR(20) NOT NULL
                    );

6.1.6、设置表的属性值自动增加

属性名 数据类型 AUTO_INCREMENT
CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,
                           stu_id INTUNIQUE,
                           name VARCHAR(20)NOT NULL
                    );

6.1.7、设置表的属性的默认值

属性名 数据类型 DEFAULT 默认值
CREATE TABLE example7(id INT PRIMARY KEY AUTO_INCREMENT,
                           stu_id INTUNIQUE,
                           name VARCHAR(20) NOT NULL.
                           english VARCHAR(20) DEFAULT 'zero',
                           computer   FLOAT DEFAULT 0
                          );

6.2、查看表结构

6.2.1、查看表基本结构语句DESCRIBE

DESC 表名

desc example1

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

SHOW CREATE TABLE 表名;

SHOW CREATE TABLE example example1\G;

6.3、修改表

6.3.1、修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;
DESC example0;
ALTER TABLE example0 RENAME TO user;

6.3.2、修改字段的数据类型

ALTER TABLE 表名 MODIFY 属性名数据类型;
DESC user;
ALTER TABLE user MODIFY name VARCHAR(30);
DESC user;

6.3.3~6.3.6、字段及数据类型的增、删,改以及改变位置\

ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST|AFTER属性名2];
ALTER TABLE 表名 DROP 属性名;
ALTER TABLE 表名 CHANGE 旧属性名新属性名 新数据类型;

利用上面的语句可以增加,删除,修改字段。修改字段名,数据类型,和位置

6.3.7、更改表的存储引擎

ALTER TABLE 表名ENGINE=INNODB|MYISAM|MEMOERY;
SHOW CREATE TABLE user\G;
ALTER TABLE user ENGINE=MyISAM;

6.3.8、删除表的外键约束

ALTER TABLE表名 DROP FOREIGN KEY 外键别名 ;
SHOW CREATE TABLE example3\G;
ALTER TABLE example3 DROP FOREIGN KEY c_fk;
SHOW CREATE TABLE example3\G;

6.4、删除表

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

DROP TABLE 表名;
DESC example5;
DROP TABLE example5;
DESC example5;

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

删除外键后再删除表

DROP TABLE example1; -- 报错
SHOW TABLE example4\G;
ALTER TABLE example4 DROP FOREIGN KEY d_fk;
SHOW TABLE example4\G;
DROP TABLE example1;
DESC example1;

MySQL基础之第6章 创建、修改和删除表 .的更多相关文章

  1. MySQL:创建、修改和删除表

    其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...

  2. SQLite 入门教程(二)创建、修改、删除表 (转)

    转于 SQLite 入门教程(二)创建.修改.删除表 一.数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table.视图 View.索引 Index.关系 Relationship 和触发器 ...

  3. MySQL根据表前缀批量修改、删除表

    注意:请先调试好,以及做好备份,再执行操作. 批量修改表 批量给前缀为 xushanxiang_content_ 的表增加一个 username 的字段: SELECT CONCAT('ALTER T ...

  4. Oracle 基本操作--数据类型、修改和删除表、增删改查和复制表

    一.Oracle基础数据类型:数据类型: 创建数据表时,设计数据表的结构问题,也就是设计及确定数据表中各个列的数据类型,是数值.字符.日期还是图像等其他类型. 因为只有设计好数据表结构,系统才会在磁盘 ...

  5. MySQL基础之第7章 索引

    第7章 索引 MySQL中,所有的数据类型都可以被索引,包括普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等. 7.1.索引简介 7.1.1.索引的含义和特点 BTREE索引,HASH索 ...

  6. mysql基础知识之-数据库的创建、查看等常用操作

    命令创建mysql数据库: 先启动mysql数据库,连接数据库: mysql -uroot -p123456         (语法:mysql -u登录名 -p密码) 创建表: create dat ...

  7. MySQL基础之第17章 MySQL日志

    17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...

  8. [MYSQL][1]创建,修改,删除表

    查看有哪些数据库: SHOW DATABASES; 创建,删除数据库: CREATE DATAABASE mydb; DROP DATABASE mydb; 查看有哪些表: SHOW TABLES; ...

  9. mysql 修改 添加 删除 表字段

    添加表的字段    alter table 表名  add  字段名  字段的类型 例子:        alter table table1 add transactor varchar(10) n ...

随机推荐

  1. Zabbix 集成 OneAlert 实现全方位告警

    1. 前言 告警将重要信息发送给运维「或者其他相关人」,及时发现并且处理问题.在所有开源监控软件里面,Zabbix 的告警方式无疑是最棒的.告警的方式各式各样,从 Email 告警到飞信.139/18 ...

  2. What is XMLHTTP? How to use security zones in Internet Explorer

    Types of Security Zones Internet Zone This zone contains Web sites that are not on your computer or ...

  3. FFMpeg那些事——独立运行的二进制文件ffmpeg编译

    想编译一个Android可用的二进制文件(要求:支持libx264/liblamemp3) github资源: 1.首先编译一个带lame库的ffmpeg https://github.com/aks ...

  4. PROPAGATION_REQUIRED事务管理

    转载:http://blog.csdn.net/l345480242/article/details/7588393 采用编程式事务 1. getCurrentSession()与openSessio ...

  5. nslookup工具的使用方法

    配置好DNS服务器,添加了相应的记录之后,只要IP地址保持不变,一般情况下我们就不再需要去维护DNS的数据文件了.不过在确认域名解释正常之前我们最好是测试一下所有的配置是否正常.许多人会简单地使用pi ...

  6. PHP二位数组/多维数组 根据某个键值排序

    $arr[$i]['FirstName'] = $d_first_name;$arr[$i]['MiddleName'] = $d_middle_name;$arr[$i]['LastName'] = ...

  7. liunx下tomcat启动报错

    liunx下tomcat启动 Cannot find ./catalina.sh 2013-08-23 11:50 1521人阅读 评论(0) 收藏 举报 Cannot find ./catalina ...

  8. android休眠唤醒流程2

    android系统一段时间没有操作,    屏幕(screen)将从高亮(bright)变为暗淡(dim),如果再过段时间还是没有操作,屏幕(screen)从暗淡(dim)变为关闭(off).这时,系 ...

  9. PCL—低层次视觉—关键点检测(rangeImage)

    关键点又称为感兴趣的点,是低层次视觉通往高层次视觉的捷径,抑或是高层次感知对低层次处理手段的妥协. ——三维视觉关键点检测 1.关键点,线,面 关键点=特征点: 关键线=边缘: 关键面=foregro ...

  10. JDBC学习总结(四)

    JDBC对LOB的读写 在JDBC中提供了java.sql.Blob和java.sql.Clob,两个类分别代表BLOB和CLOB数据.         · BLOB(Binary Large Obj ...