MySql简介与DDL语句使用

一、MySql简述

1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
2.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

3.MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

二、数据库相关概念

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

名称全称简称
数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)
数据库管理系统操纵和管理数据库的大型软件DataBase Management System (DBMS)
Sql操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准Structured Query Language (SQL)

在这里插入图片描述
各大数据库管理系统的区别

1.Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。

2.MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。

3.SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。
4.PostgreSQL:开源免费的中小型数据库。

5.DB2:IBM公司的大型收费数据库产品。

6.SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。
7.MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与 MySQL数据库有很好的兼容性。

而不论我们使用的是上面的哪一个关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作,因为我们前面讲到SQL语言,是操作关系型数据库的 统一标准 。所以即使我们现在学习的是MySQL,假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2SQLServer,也完全不用担心,因为操作的方式都是一致的。

三、DDL

数据库操作:
(1)查询所有数据库;

show databases ;

在这里插入图片描述

(2) 查询当前数据库:

select database() ;

在这里插入图片描述
(3) 创建数据库:

create database [ if not exists ] 数据库名 [ default charset 字符集 ]
[collate 排序规则 ] ;

例创建一个itcast数据库,使用数据库默认字符集:
在这里插入图片描述

(4) 删除数据库:

drop database [ if exists ] 数据库名 ;
如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists 如果数据库存在,再执行删除,否则不执行删除。

在这里插入图片描述
(5) 切换数据库:

use 数据库名;
我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。比如,切换到itcast数据,例:use bdqn;

1.表的操作

(1)查询当前数据库所有的表:

show tables;

在这里插入图片描述

(2)查看指定表结构:

desc 表名;

在这里插入图片描述
(3)创建表的结构:

CREATE TABLE 表名(
字段1 字段1类型 [ COMMENT 字段1注释 ],
字段2 字段2类型[COMMENT 字段2注释 ],
字段3 字段3类型 [COMMENT 字段3注释 ],

字段n 字段n类型 [COMMENT 字段n注释 ] )
)[ COMMENT 表注释 ] ;

注:最后一个字段后面没有逗号。

2.表操作-数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
(1)数值类型:

类型大小有符号范围无符号范围描述
Tiny int1byte(-128,127)(0,255)小整数值
Small Int2bytes(-32768,32767)(0,65535)大整数值
Medium Int3bytes(-8388608,8388607)(0,16777215)大整数值
Int/Integer4bytes(-2147483648,2147483647)(0,4294967295)大整数值
Big Int8bytes(-2^63,2 ^63-1)(0,2^64-1)极大整数值
Float4bytes(-3.402823466 E+38,3.402823466351 E+38)0 和 (1.175494351 E-38,3.402823466 E+38)单精度浮点数值
Double8bytes(-1.7976931348623157E+308,1.7976931348623157E+308)0 和(2.2250738585072014E-308,1.7976931348623157E+308)双精度浮点数值
Decimal依赖于M(精度)和D(标度)的值依赖于M(精度)和D(标度)的值小数值,可以精确到点数

(3)字符串类型:

类型大小描述
Char0-255 bytes定长字符串(需要指定长度)
Var Char0-65535 bytes变长字符串(需要指定长度)
Tiny Blob0-255 bytes不超过255个字符的二进制数据
Tiny Text0-255 bytes短文本字符串
Blob0-65 535 bytes二进制形式的长文本数据
Text0-65 535 bytes长文本数据
Medium Blob0-16 777 215 bytes二进制形式的中等长度文本数据
Medium Text0-16 777 215 bytes中等长度文本数据
Long Blob0-4 294 967 295 bytes二进制形式的极大文本数据
Long Text0-4 294 967 295 bytes极大文本数据

(4)日期时间类型:

类型大小范围格式描述
Date31000-01-01 至 9999-12-31YYYY-MM-DD日期值
Time3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间
Year11901 至 2155YYYY年份值
Date Time81000-01-01 00:00:00 至9999-12-31 23:59:59YYYY-MM-DDHH:MM:SS混合日期和时间值
Time Stamp41970-01-01 00:00:01 至2038-01-19 03:14:07YYYY-MM-DDHH:MM:SS混合日期和时间值,时间戳
3.表操作-修改

(1)添加字段

ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

(2)修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

(3) 修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

(4)删除字段

ALTER TABLE 表名 DROP 字段名;

(5)修改表名

ALTER TABLE 表名 RENAME TO 新表名;

4.表操作-删除

(1)删除表

DROP TABLE [ IF EXISTS ] 表名;

可选项 IF EXISTS 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不
加该参数项,删除一张不存在的表,执行将会报错)。

如果user表存在的话则直接删除user表

DROP TABLE IF EXISTS user;

(2) 删除指定表, 并重新创建表

TRUNCATE TABLE 表名;

注: 在删除表的时候,表中的全部数据也都会被删除。

目前能整理的只有这些如果有少的请多多包涵

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值