DF学Mysql(二)——数据表的基本操作
1.创建数据表
先使用“USE <数据库名>”指定在哪个数据库中操作
CREATE TABLE <表名>
(
字段1 数据类型 [列级别约束条件] [默认值],
字段2 数据类型 [列级别约束条件] [默认值],
"""
[表级别约束条件]
);
2.查看数据表
SHOW TABLES;
3.操作表的约束
所谓完整性就是数据的准确性和一致性,而完整性检查就是指检查数据的准确性和一致性。约束是Mysql保证数据库表中数据准确性和一致性的一种机制。Mysql支持的完整性约束有以下6种:
3.1使用主键约束(PRIMARY KEY,PK)
主键,又称主码,是表中一列或多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,且不能为空。
主键分为单字段主键和多字段主键。
3.1.1单字段主键
在定义的同时指定主键 字段名 数据类型 PRIMARY KEY,
定义完所有列后指定主键 CONSTRAINT 约束名 PRIMARY KEY (字段名);
3.1.2多字段联合主键
PRIMARY KEY(字段1,字段2,...,字段n);
3.2使用外键约束(FOREIGN KEY,FK)
外键用来在两个表之间建立连接,可以是一列或多列。它是表中的一个字段,可以不是本表的主键,但必须对应另外一个表的主键。外键的主要作用是保证数据引用的完整性,定义外键后,不允许在另一个表中删除具有关联关系的行。
主表(父表):相关联字段中主键所在的那个表是主表
从表(子表):相关联字段中外键所在的那个表是从表
语法形式:CONSTRAINT <外键约束名> FOREIGN KEY (字段名1,字段名2,...,字段名n) REFERENCES 表名 (主键列1,主键列2,...,主键列n)
3.3设置非空约束(NOT NULL,NK)
字段名 数据类型 NOT NULL,
3.4设置默认值(DEFAULT)
字段名 数据类型 DEFAULT 默认值,
3.5设置唯一约束(UNIQUE,UK)
在定义完后直接约束:字段名 数据类型 UNIQUE,
定义完所有列之后指定约束:CONSTRAINT 约束名 UNIQUE 字段名,
3.6设置属表的属性值自动增加
字段名 数据类型 AUTO_INCREAMENT;
4.1查看数据表结构
先选择数据库:USE <数据库名>
DESCRIBE 表名; 或 DESC 表名;
4.2查看表详细定义
SHOW CREATE TABLE <表名> \G
使用参数‘\G’让输出更美观
5.删除表
DROP TABLE <表名>;
6.修改表
6.1修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
[TO]为可选参数,使用与否不影响结果
6.2修改字段的数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>;
6.3修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <性字段名> <旧数据类型>;
6.4同时修改字段名和数据类型
ALTER TABLE <表名> CHANGE <旧字段名> <性字段名> <新数据类型>;
6.5添加字段
ALTER TABLE <表名> ADD <字段名> <数据类型> [ FIRST | AFTER <表中已存在的字段名> ];
FIRST参数:把添加的字段设置为表的第一个字段
AFTER参数:将字段添加到指定字段后面
6.6删除字段
ALTER TABLE <表名> DROP <字段名>;
6.7修改字段的顺序
ALTER TABLE <表名> MODIFY <字段名1> <数据类型> FIRST | AFTER <字段名2> ;
“字段1"指要修改位置的字段。将”字段1“设置为第一个字段或插入到”字段2“之后。
7.更改表的存储引擎
存储引擎是Mysql中的数据存储在文件或内存中时采用的不同技术实现。主要有九种:FEDERATED、MRG_MYISAM、MyISAM、BLACKHOLE、CSV、MEMORY、ARCHIVE、InnoDB、和PERFORMANCE_SCHEMA。
7.1查看当前Mysql所支持的引擎
SHOW ENGINES \G
7.2查询默认存储引擎
SHOW VARIABLES LIKE 'storage_engine%';
7.3修改默认存储引擎
1)打开my.ini配置文件
2)修改【mysqld】这个组的default-storage-engine为”default-storage-engine=<默认的存储引擎名>“
7.4更改表的存储引擎
ALTER TABLE <表名> ENGINE=<更改后的引擎名>;
8.删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
参考资料:《MYSQL5.5 从零开始学》
DF学Mysql(二)——数据表的基本操作的更多相关文章
- mysql(三) 数据表的基本操作操作
mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...
- 02 MySQL之数据表的基本操作
01-创建数据表 # 切换数据库 use test_db; # 创建数据表 语法规则如下: create table 表名 ( 字段名1, 数据类型 [列级别约束条件] [默认值], 字段名2, 数据 ...
- MySql修改数据表的基本操作(DDL操作)
1.查看数据库的基本语句:show databases; 2.选择相应的数据库进入语法:use 数据库名; 3.查看数据库中的表语法:show tables; 4.查看表的基本结构语句:desc 表名 ...
- MySql修改数据表的基本操作(DDL操作)
1.查看表基本结构语句: DESC 表名 2,查看表详细结构语句:show create table 表名 3.修改表名:alter table 旧表名 rename to 新表名 4.修改字段的数据 ...
- DF学Mysql(一)——数据库基本操作
1.创建数据库 create Database <数据库名>; 注意:1)数据库名由字母.下划线.@.#和$组成 2)首字母不能是数字和$符号 3)不允许有空格和特殊字符 2.查看数据库 ...
- MySQL(一) 数据表数据库的基本操作
序言 这类文章,记录我看<MySQL5.6从零开始学>这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍, ...
- MySQL数据库 | 数据库和数据表的基本操作
第一篇博文,一个小小的纪念仪式^-^ 以下正文 一.数据库的基本操作 --数据库的操作 --连接数据库 mysql -uroot -p密码 mysql -uroot -pmysql --退出数据库 e ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- MySQL<数据库和表的基本操作>
数据库和表的基本操作 数据库基础知识 创建数据库 就是在数据库系统中划分一块存储数据的空间 CREATE DATABASE itcast; 查看数据库 SHOW CREATE DATABASE 数据库 ...
- MySQL数据库-数据表(上)
数据表的基本操作. MySQL 数据库支持多种数据类型,大致可以分为 3 类:数值类型.日期和时间类型.字符串(字符)类型. (1)数值类型 数值类型用于存储数字型数据,这些类型包括整数类型(TINY ...
随机推荐
- 利用HttpModule开发asp.net页面、ashx等访问时session失效的统一处理入口
web程序时,当使用session时总会出现失效而报“未将对象引用设置到对象的实例”的http 500错误,本人比较懒,不想每个地方都用try catch处理,就找到个用httpModule统一处理的 ...
- 从数组->ArrayList->List 为了方便与安全在不断变化着
在C#中,当我们想要存储一组对象的时候,就会想到用数组,ArrayList,List这三个对象了. 数组 优点优点之一:数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单 ...
- Go安装
http://www.linuxidc.com/Linux/2015-02/113159.htm https://github.com/astaxie/beego http://www.sizeofv ...
- OC中的NSNumber、NSArray、NSString的常用方法
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...
- ExtJS MVC学习手记
开始学习ExtJS的MVC了.这篇文章仅是用来做一个目录,为自己这个阶段的学习内容做个索引. 手记涉及的文章: EXTJS MVC结构(译自ExtJS4.0文档中的<MVC Architectu ...
- 008--VS2013 C++ 位图半透明化(另一种显示)
注:主要变化是在下面这张位图上的操作 //全局变量HBITMAP bg, girl;HDC mdc;//起始坐标const int xstart = 50;const int ystart = 20; ...
- Error (10028): Can't resolve multiple constant drivers for net "out2" at shiyan.v(14)解决办法
//Error(10028):Can't resolve multiple constant drivers for net “ ” at **.v //两个进程里都有同一个条件判断的话,会产生并行信 ...
- 37.altium designer中的class和rules?
在布局布线工程中,遇到复杂工程时,难免要进行class和rules的设置,经过试验证明,class和rules的子目录是有优先级的.
- js从富文本中找出固定电话、手机号码、邮箱并添加上链接。
function richtextfindtel(value) { /*固定电话.手机号码.邮箱*/ var tempValue = value.replace(/<[^>]+>/g ...
- 深入浅出Spring(五) SpringMVC
上一篇深入浅出Spring(四) Spring实例分析的博文中,咱们已经可以了解Spring框架的运行原理和实现过程,接下来咱们继续讲解Spring的一个延伸产品——Spring MVC 1.Spri ...