MySQL学习总结(二)数据库以及表的基本操作
2016-05-26 10:37
861 查看
上一节中详细的介绍了关于MySQL数据库的安装过程,接下来我们就该对数据库以及表进行一些基本的操作了。
1、数据类型
MySQL数据库中提供了整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型。
1.1、整数类型
整数类型包括,TINYINT、SMALLINT、MEDIUMINT、INT、INTEGER、BIGINT。
不同的整数类型所占的字节数不同,取值的范围也不同。其中TINYINT取值范围最小,BIGINT取值范围最大,最常用的整数类型是INT。上面六种整数类型所占字节数分别为1字节、2字节、3字节、4字节、4字节、8字节。
1.2、浮点数类型
浮点数包括,FLOAT和DOUBLE两种类型。其中FLOAT占4字节,DOUBLE占8字节。在选择使用哪种数据类型的时候,可以根据需要存储的小数数据的小数位数来判断,如果需要精确到小数后10位以上的时候,选用DOUBLE类型,否则可以使用FLOAT类型。
1.3、定点数类型
DEC、DECIMAL类型。当要求小数数据精度非常高的时候,则可以选择DEC和DECIMAL类型,他们的精度比DOUBLE类型还要高。
1.4、日期和时间类型
MySQL中有多种表示日期和时间的类型。
例如:在SQL查询窗口中输入查询语句
SELECT CURDATE(),
NOW(),
TIME(NOW()),
TIMESTAMP(NOW()),
YEAR(NOW()),
DATE(NOW())
查询结果如下:
1.5、字符串类型
CHAR(M)、VARCHAR(M),其中M表示字节数。VARCHAR类型的长度是可以改变的。如果所存储的字符串长度不会经常变化,可以选择CHAR类型,否则选择VARCHAR类型。
TEXT类型,在使用数据库时候,如果需要存储大量的字符串,则可以选择TEXT类型数据。
BINARY(M)、VARBINARY(M),该数据类型可以存储二进制数据。如果要存储二进制数据时候可以选择该类型。根绝所存储的二进制数据长度选择具体使用哪种类型。如果长度经常改变可以选择VARBINARY(M),否则使用BINARY(M)。
BLOB类型,如果需要存储大量二进制数据的时候(存储电影等视频文件),可以选择BLOB类型数据。
2、数据库基本操作
安装MySQL成功后,通过SQLyog登录后,会发现附带有六个数据库。
数据库可以说是存储数据库对象的容器。而数据库对象指的是存储、管理和使用数据库的不同的结构形式,主要包含表、视图、存储过程、函数、触发器、事件等。
SQL执行位置,文件——>新查询编辑器,或快捷键Ctrl+T,或者在SQLyog工具栏中点击按钮,
2.1、创建数据库
SQL语句:CREATE DATABASE datatest;
datatest是要创建的数据库名称,创建的数据库不应该重复,如果已经有存在的数据库,在执行该语句就会报错。
报错内容:Can't create database 'datatest'; database exists。
在SQLyog界面中,右击对象资源管理器空白处,选择“创建数据库”,输入数据库名字,点击创建,就创建数据库成功了。
2.2、选择数据库
2.3、删除数据库
3、表的操作
表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成。主要用来存储数据记录。表的操作,包含创建表、删除表、修改表等。
3.1、创建表
语法形式:CREATE TABLE table_name(
属性名1 数据类型,
。。。。,
属性名N 数据类型,
)
例:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
addr VARCHAR(40)
)
在SQLyog界面中,右键数据库,创/建——>表,弹出创建表的窗口,设置好,点击保存就表示创建完成了。
3.2、删除表
SQL语句:DROP TABLE t_dept;
表示删除表t_dept,要删除的表必须存在否则会报错。
在SQLyog界面中,右键要删除的表,更多表操作——>从数据库中删除表,选择是,删除表。
3.3、修改表
3.3.1、修改表名
SQL语句:ALTER TABLE t_dept RENAME tab_dept
在SQLyog界面中,右键要修改的表,更多表操作——>重命名表,输入要修改后的名字,如下图所示:
或者是右键要修改的表,改变表,在表名称中输入要修改后的名字,点击保存。
3.3.2、增加字段
SQL语句:ALTER TABLE table_name ADD 属性名 属性类型,在表的最后一个位置增加一个字段。
SQL语句:ALTER TABLE table_name ADD 属性名 属性类型 FIRST,在表的第一个位置增加一个字段。
SQL语句:ALTER TABLE table_name ADD 属性名 属性类型 AFTER 属性名,在表的指定的字段之后增加字段。
3.3.3、删除字段
SQL语句:ALTER TABLE table_name DROP 属性名,删除表中指定的字段。
3.3.4、修改字段
修改某个字段的数据类型:ALTER TABLE table_name MODIFY 属性名 属性类型。
修改某个字段的名称:ALTER TABLE table_name CHANGE 旧属性名 新属性名 旧属性的数据类型。例如: ALTER TABLE tab_dept CHANGE addr address VARCHAR(40)
同时修改某个字段的名称和数据类型:ALTER TABLE table_name 旧属性名 新属性名 新属性的数据类型。
3.3.5、修改字段的顺序
调整某个字段到表的第一个位置,ALTER TABLE table_name MODIFY 属性名 数据类型 FIRST。
调整某个字段到表的某个字段之后,ALTER TABLE table_name MODIFY 属性名1 数据类型 AFTER 属性名2。说明:属性名1是要调整的字段,属性名2 是要调整到字段后面。
4、表的约束
完整性是指数据的准确性和一致性,而完整性检查就是指的是检查数据的准确性和一致性。
4.1、设置非空约束(NOT NULL,NK)
当数据库表中的某个字段如果不希望设置为空时候,则可以使用NK约束。为字段加上NOT NULL约束的时候,就可以保证该字段不能为空,如果用户插入的记录该字段为空的话,数据库就会报错。
SQL语句:
CREATE TABLE table_name(
属性名 数据类型 NOT NULL,
…
)
4.2、设置字段的默认值 (DEFAULT)
当数据库表插入一条数据时候,如果没有为某个字段赋值,那么数据库系统就会自动给该字段赋值。
CREATE TABLE table_name(
属性名 数据类型 DEFAULT 默认值,
…
)
4.3、 设置唯一约束(UNIQUE,UK)
当数据库表中的某个字段不允许重复的时候,可以设置UK约束。
CREATE TABLE table_name(
属性名 数据类型 UNIQUE,
…
)
4.4、设置主键约束
当数据库表中的某个字段用来唯一标识所有的记录的时候,就可以设置PK约束。主键字段是唯一、非空的值。
CREATE TABLE table_name(
属性名 数据类型 PRIMARY KEY,
…
)
主键约束相当于非空约束+唯一约束。
多字段主键(联合主键)设置如下,
CREATE TABLE table_name(
属性名 数据类型,
…
CONSTRAINT 约束名 PRIMARY KEY(属性名1,属性名2…)
)
4.5、设置字段值自动增加(AUTO_INCREMENT)
设置AUTO_INCREMENT约束后,字段会生成一个唯一的ID值。该字段必须是整数类型。
CREATE TABLE table_name(
属性名 数据类型 AUTO_INCREMENT,
…
)
4.6、设置外键约束(FOREIGN KEY,FK)
设置外键约束的两个表必须具有父与子的关系。设置FK约束的字段,必须依赖于数据库中已经存在的父表的主键。
CREATE TABLE table_name(
属性名 数据类型,
…
CONSTRAINT 外键约束名 FOREIGN KEY (属性名1)
REFERENCES 表名 (属性名2)
)
1、数据类型
MySQL数据库中提供了整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型。
1.1、整数类型
整数类型包括,TINYINT、SMALLINT、MEDIUMINT、INT、INTEGER、BIGINT。
不同的整数类型所占的字节数不同,取值的范围也不同。其中TINYINT取值范围最小,BIGINT取值范围最大,最常用的整数类型是INT。上面六种整数类型所占字节数分别为1字节、2字节、3字节、4字节、4字节、8字节。
1.2、浮点数类型
浮点数包括,FLOAT和DOUBLE两种类型。其中FLOAT占4字节,DOUBLE占8字节。在选择使用哪种数据类型的时候,可以根据需要存储的小数数据的小数位数来判断,如果需要精确到小数后10位以上的时候,选用DOUBLE类型,否则可以使用FLOAT类型。
1.3、定点数类型
DEC、DECIMAL类型。当要求小数数据精度非常高的时候,则可以选择DEC和DECIMAL类型,他们的精度比DOUBLE类型还要高。
1.4、日期和时间类型
MySQL中有多种表示日期和时间的类型。
DATE | 表示年月日 |
DATETIME | 表示年月日时分秒 |
TIMESTAMP | 经常插入或更新日期时使用 |
TIME | 表示时分秒 |
YEAR | 表示年 |
例如:在SQL查询窗口中输入查询语句
SELECT CURDATE(),
NOW(),
TIME(NOW()),
TIMESTAMP(NOW()),
YEAR(NOW()),
DATE(NOW())
查询结果如下:
1.5、字符串类型
CHAR(M)、VARCHAR(M),其中M表示字节数。VARCHAR类型的长度是可以改变的。如果所存储的字符串长度不会经常变化,可以选择CHAR类型,否则选择VARCHAR类型。
TEXT类型,在使用数据库时候,如果需要存储大量的字符串,则可以选择TEXT类型数据。
BINARY(M)、VARBINARY(M),该数据类型可以存储二进制数据。如果要存储二进制数据时候可以选择该类型。根绝所存储的二进制数据长度选择具体使用哪种类型。如果长度经常改变可以选择VARBINARY(M),否则使用BINARY(M)。
BLOB类型,如果需要存储大量二进制数据的时候(存储电影等视频文件),可以选择BLOB类型数据。
2、数据库基本操作
安装MySQL成功后,通过SQLyog登录后,会发现附带有六个数据库。
数据库可以说是存储数据库对象的容器。而数据库对象指的是存储、管理和使用数据库的不同的结构形式,主要包含表、视图、存储过程、函数、触发器、事件等。
SQL执行位置,文件——>新查询编辑器,或快捷键Ctrl+T,或者在SQLyog工具栏中点击按钮,
2.1、创建数据库
SQL语句:CREATE DATABASE datatest;
datatest是要创建的数据库名称,创建的数据库不应该重复,如果已经有存在的数据库,在执行该语句就会报错。
报错内容:Can't create database 'datatest'; database exists。
在SQLyog界面中,右击对象资源管理器空白处,选择“创建数据库”,输入数据库名字,点击创建,就创建数据库成功了。
2.2、选择数据库
2.3、删除数据库
SQL语句:DROP DATABASE datatest;
3、表的操作
表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成。主要用来存储数据记录。表的操作,包含创建表、删除表、修改表等。
3.1、创建表
语法形式:CREATE TABLE table_name(
属性名1 数据类型,
。。。。,
属性名N 数据类型,
)
例:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
addr VARCHAR(40)
)
在SQLyog界面中,右键数据库,创/建——>表,弹出创建表的窗口,设置好,点击保存就表示创建完成了。
3.2、删除表
SQL语句:DROP TABLE t_dept;
表示删除表t_dept,要删除的表必须存在否则会报错。
在SQLyog界面中,右键要删除的表,更多表操作——>从数据库中删除表,选择是,删除表。
3.3、修改表
3.3.1、修改表名
SQL语句:ALTER TABLE t_dept RENAME tab_dept
在SQLyog界面中,右键要修改的表,更多表操作——>重命名表,输入要修改后的名字,如下图所示:
或者是右键要修改的表,改变表,在表名称中输入要修改后的名字,点击保存。
3.3.2、增加字段
SQL语句:ALTER TABLE table_name ADD 属性名 属性类型,在表的最后一个位置增加一个字段。
SQL语句:ALTER TABLE table_name ADD 属性名 属性类型 FIRST,在表的第一个位置增加一个字段。
SQL语句:ALTER TABLE table_name ADD 属性名 属性类型 AFTER 属性名,在表的指定的字段之后增加字段。
3.3.3、删除字段
SQL语句:ALTER TABLE table_name DROP 属性名,删除表中指定的字段。
3.3.4、修改字段
修改某个字段的数据类型:ALTER TABLE table_name MODIFY 属性名 属性类型。
修改某个字段的名称:ALTER TABLE table_name CHANGE 旧属性名 新属性名 旧属性的数据类型。例如: ALTER TABLE tab_dept CHANGE addr address VARCHAR(40)
同时修改某个字段的名称和数据类型:ALTER TABLE table_name 旧属性名 新属性名 新属性的数据类型。
3.3.5、修改字段的顺序
调整某个字段到表的第一个位置,ALTER TABLE table_name MODIFY 属性名 数据类型 FIRST。
调整某个字段到表的某个字段之后,ALTER TABLE table_name MODIFY 属性名1 数据类型 AFTER 属性名2。说明:属性名1是要调整的字段,属性名2 是要调整到字段后面。
4、表的约束
完整性是指数据的准确性和一致性,而完整性检查就是指的是检查数据的准确性和一致性。
4.1、设置非空约束(NOT NULL,NK)
当数据库表中的某个字段如果不希望设置为空时候,则可以使用NK约束。为字段加上NOT NULL约束的时候,就可以保证该字段不能为空,如果用户插入的记录该字段为空的话,数据库就会报错。
SQL语句:
CREATE TABLE table_name(
属性名 数据类型 NOT NULL,
…
)
4.2、设置字段的默认值 (DEFAULT)
当数据库表插入一条数据时候,如果没有为某个字段赋值,那么数据库系统就会自动给该字段赋值。
CREATE TABLE table_name(
属性名 数据类型 DEFAULT 默认值,
…
)
4.3、 设置唯一约束(UNIQUE,UK)
当数据库表中的某个字段不允许重复的时候,可以设置UK约束。
CREATE TABLE table_name(
属性名 数据类型 UNIQUE,
…
)
4.4、设置主键约束
当数据库表中的某个字段用来唯一标识所有的记录的时候,就可以设置PK约束。主键字段是唯一、非空的值。
CREATE TABLE table_name(
属性名 数据类型 PRIMARY KEY,
…
)
主键约束相当于非空约束+唯一约束。
多字段主键(联合主键)设置如下,
CREATE TABLE table_name(
属性名 数据类型,
…
CONSTRAINT 约束名 PRIMARY KEY(属性名1,属性名2…)
)
4.5、设置字段值自动增加(AUTO_INCREMENT)
设置AUTO_INCREMENT约束后,字段会生成一个唯一的ID值。该字段必须是整数类型。
CREATE TABLE table_name(
属性名 数据类型 AUTO_INCREMENT,
…
)
4.6、设置外键约束(FOREIGN KEY,FK)
设置外键约束的两个表必须具有父与子的关系。设置FK约束的字段,必须依赖于数据库中已经存在的父表的主键。
CREATE TABLE table_name(
属性名 数据类型,
…
CONSTRAINT 外键约束名 FOREIGN KEY (属性名1)
REFERENCES 表名 (属性名2)
)
相关文章推荐
- MYSQL中的语句
- mysql db 下载
- When Does MySQL Rotate the Binary Log (Doc ID 1937268.1)
- 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost
- MySQL二进制日志
- MySQL中视图的定义、原理和如何使用、创建
- MySQL之alter语句用法总结
- Mysql基础回顾
- Mysql通过cmd命令导入sql文件
- Mysql常用函数
- MySql相关问题
- MYSQL适当的优化很有必要
- 硬菜点播台 | MySQL阿里实践经典案例之参数调优最佳实践
- MYSQL----myownstars(102)
- 常用mysql语句
- MYSQL 官方MYSQL源码文档介绍
- mysql命令行下中文显示为乱码问题
- mysql 5.7以上免安装版本无法找到data文件夹问题的解决办法
- mysql-5.7.10-winx64 MySQL服务无法启动,服务没有报告任何错误的解决办法
- 一千行MySQL学习笔记【博客园】