上一节中详细的介绍了关于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中有多种表示日期和时间的类型。

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、选择数据库

SQL语句:USE datatest;

在SQLyog界面中,直接点击数据库,显示数据库名称后,表示选中了该数据库。

2.3、删除数据库

SQL语句:DROP DATABASE datatest;

在SQLyog界面中,右键要删除的数据库,更多数据库操作——>删除数据库,选择是删除数据库。

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 是要调整到字段后面。

以上操作都可以在SQLyog软件中实现,右键要修改的表,选择“改变表”,如下图所示:

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)

)

在SQLyog中设置约束,右键要增加约束的表,改变表,

设置外键约束,右键要增加外键约束的表(也就是子表),关/系/外键,

在该界面中可以增加删除外键约束。

MySQL学习总结(二)数据库以及表的基本操作的更多相关文章

  1. MySQL学习笔记02_数据库和表的基本操作

    02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specifica ...

  2. 【转】MYSQL入门学习之八:数据库及表的基本操作

    转载地址:http://www.2cto.com/database/201212/175867.html 一.操作数据库  www.2cto.com    1.查看数据库          show ...

  3. mysql学习5:数据库设计

    mysql学习5:数据库设计 本文转载:https://blog.51cto.com/9291927/2087925:原创为天山老妖S 一.数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段 ...

  4. Mariadb/MySQL数据库单表查询基本操作及DML语句

    Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...

  5. MySQL<数据库和表的基本操作>

    数据库和表的基本操作 数据库基础知识 创建数据库 就是在数据库系统中划分一块存储数据的空间 CREATE DATABASE itcast; 查看数据库 SHOW CREATE DATABASE 数据库 ...

  6. MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题

    1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...

  7. EF 学习系列二 数据库表的创建和表关系配置(Fluent API、Data Annotations、约定)

    上一篇写了<Entity Farmework领域建模方式 3种编程方式>,现在就Code First 继续学习 1.数据库表的创建 新建一个MVC的项目,在引用右击管理NuGet程序包,点 ...

  8. MySql学习 (一) —— 基本数据库操作语句、三大列类型

    注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面 ...

  9. mySQL初学者需要掌握的【数据库与表的基本操作】

    本内容会持续更新的哦! 注:"字段"="列","记录''="行" 文章目录 一:数据库的基本操作 二.数据表的基本操作 1.创建与 ...

随机推荐

  1. Make a printer-port EEPROM programmer and dongle

    You can easily use a PC's printer port for serial-EEPROM programming. You can use a device-programme ...

  2. Linux 系统 /proc/[pid]/stat 文件解释

    转载:http://www.net527.cn/a/caozuoxitong/Linux/2012/0823/24385.html [root@localhost ~]# cat /proc/6873 ...

  3. CentOS6.5使用yum命令方便快捷安装Nginx与卸载

    原文:https://my.oschina.net/ramboo/blog/223408 当然,首先要求是可以联网的CentOS系统,因为yum安装需要互联网连接. 卸载命令:yum remove n ...

  4. Andorid之Annotation框架初使用(二)

    Fragment: @EActivity(R.layout.fragments) public class MyFragmentActivity extends FragmentActivity { ...

  5. ORACLE 查看CPU使用率最高的语句及一些性能查询语句

    select * from (select sql_text,sql_id,cpu_time from v$sql order by cpu_time desc) where rownum<=1 ...

  6. ASP.NET 5 Beta6发布了(翻译)

    感觉就好像我们刚刚发布了一个版本,现在我们又要发布一个新的版本.开发团队通过努力工作在Visual Studio2015的正式版上提交使用ASP.NET 5开发工具的上的更新以及库的更新.新的版本为b ...

  7. ActiveX 控件漏洞挖掘之方法

    ActiveX是微软公司提出,并在1996年被正式命名的组件技术.该技术提供了一种通用的开放程序接口,使用这种技术开发的ActiveX控件可以直接集成到IE浏览器或第三方应用程序中,但由于第三方编程等 ...

  8. 跨平台app开发(引擎)工具的选择

    1.html5执行速度慢,用户体验不好 2.原生应用开发,即ios和安卓分别开发,需要两种技术人员,后期代码维护困难,很难达到统一. 3.xamarin是一款c#的解决方案,收费.xamarin.fo ...

  9. 使用Js获取和更改FCKeditor编辑器里的内容

    之前在一个系统里使用了FCKeditor编辑器,由于项目需求需要在FCKeditor里添加一个自定义的按钮用于实现自己的需求 主要是在点击该按钮时删除或添加FCKeditor编辑器里的内容 其实是一个 ...

  10. tomcat部署java web项目遇到的一些小问题

    背景:本人不是Java开发人员,经过四年多的历练,可以说是一枚BI攻城师了吧,最近粗糙的写了一个Portal来集成cognos报表,下面就入正题说一下发布过程中遇到的小问题吧. a:前提:Java w ...