数据库和表的基本使用

数据库基本操作

1.创建数据库

语法格式:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification ...]];

说明: [IF NOT EXISTS]  可选,如果不存在同名数据库则创建数据库,如果已存在同名数据库,取消创建。

db_name  数据库名称

create_specification  [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collection_name

例如:

CREATE DATABASE mydb;//创建一个mydb数据库
CREATE DATABASE mydb CHARACTER SET gbk;//创建一个mydb数据库,字符编码集是gbk
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;//创建一个mydb数据库,字符编码集是utf8,校对规则为utf8_general_ci


2.查看数据库

语法格式:

SHOW DATABASES;//查看当前数据库服务器中所有数据库

SHOW CREATE DATABASE db_name;//查看当前db_name数据库创建信息


3.选择数据库

语法格式:

USE db_name;


4.修改数据库

语法格式:

ALTER DATABASE db_name [alter_specification [, alter_specification ...]];

说明: alter_specification [DEFAULT] CHARACTER SET [=] charset_name

[DEFAULT] COLLATE [=] collation_name


5.删除数据库

语法格式:

DROP DATABASE [IF EXISTS] db_name;


6.查看当前所选数据库

语法格式:

SELECT DATABASE();


MySQL数据类型

1.整形类型

MySQL中的整数类型可分为5种,分别是TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。

数据类型

字节数

无符号数的取值范围

有符号数的取值范围

TINYINT

1

0~255

-128~127

SMALLINT

2

0~65535

-32768~32768

MEDIUMINT

3

0~16777215

-8388608~8388608

INT

4

0~4294967295

-2147483648~2147483648

BIGINT

8

0~18446744073709551615

-9223372036854775808~9223372036854775808


2.浮点数和定点数类型

浮点数的类型有两种,分别是单精度浮点数类型(FLOAT)和双精度浮点类型(DOUBLE)。而定点数类型只有DECIMAL类型。

数据类型

字节数

有符号的取值范围(正数同无符号)

无符号的取值范围

FLOAT

4

-3.402823466E+38~-1.175494351E-38

0和1.175494351E-38~3.402823466E+38

DOUBLE

8

-1.7976931348623157E+308~2.2250738585072014E-308

0和2.2250738585072014E-308~1.7976931348623157E+308

DECIMAL(M,D)

M+2

-1.7976931348623157E+308~2.2250738585072014E-308

0和2.2250738585072014E-308~1.7976931348623157E+308


3.日期与时间类型

为了方便在数据库中存储日期和时间,MySQL提供了表示日期和时间的数据类型,分别是YEAR、DATE、TIME、DATETIME和TIMESTAMP。

数据类型

字节数

取值范围

日期格式

零值

YEAR

1

1901~2155

YYYY

0000

DATE

4

1000-01-01~9999-12-3

YYYY-MM-DD

0000-00-00

TIME

3

-838:59:59~838:59:59

HH:MM:SS

00:00:00

DATETIME

8

1000-01-01 00:00:00~9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

0000-00-00 00:00:00

TIMESTAMP

4

1970-01-01 00:00:01~2038-01-19 03:14:07

YYYY-MM-DD HH:MM:SS

0000-00-00 00:00:00


如果插入的数值不合法,系统会自动将对应的零值插入数据库中。

(1)YEAR类型:用于表示年份,在MySQL中,可以使用以下三种格式指定YEAR类型的值:

  • 使用4位字符串或数字表示,范围为‘1901’~‘2155’或1901~2155。
  • 使用2位字符串表示,范围为‘00’~‘99’,其中,‘00’~‘69’范围的值会被转换为2000~2069范围的YEAR值,‘70’~‘99’范围的值会被转换为1970~1999范围的YEAR值。
  • 使用2位数字表示,范围为1~99,其中,1~69范围的值会被转换为2001~2069范围的YEAR值,70~99范围的值会被转换为1970~1999范围的YEAR值。

当使用YEAR类型时,一定要区分'0'和0。因为字符串格式的'0'表示的是YEAR值是2000,而数字格式的0表示的YEAR值是0000。

(2)DATE类型:用于表示日期值,不包含时间部分。:在MySQL中,可以使用以下四种格式指定DATE类型的值:

  • 以‘YYYY-MM-DD’或者‘YYYYMMDD’字符串格式表示。
  • 以‘YY-MM-DD’或者‘YYMMDD’字符串格式表示。YY表示的是年,范围为‘00’~‘99’,其中,‘00’~‘69’范围的值会被转换为2000~2069范围的值,‘70’~‘99’范围的值会被转换为1970~1999范围的值。
  • 以YY-MM-DD或者YYMMDD数字格式表示。
  • 使用CURRENT_DATE或者NOW()表示当前系统日期。

(3)TIME类型:用于表示时间值,它的显示形式一般为HH:MM:SS,其中,HH表示小时,MM表示分,SS表示秒。在MySQL中,可以使用以下三种格式指定TIME类型的值:

  • 以‘D HH:MM:SS’字符串格式表示。
  • 以‘HHMMSS’字符串格式或者HHMMSS数字格式表示。
  • 使用CURRENT_TIME或NOW()输入当前系统时间。

(4)DATETIME类型:用于表示日期和时间,它的显示形式为‘YYYY-MM-DD HH:MM:SS’,其中,YYYY表示年,MM表示月,DD表示日,HH表示小时,MM表示分,SS表示秒。在MySQL中,可以使用以下四种格式指定DATETIME类型的值:

  • 以‘YYYY-MM-DD HH:MM:SS’或者‘YYYYMMDDHHMMSS’字符串格式表示的日期和时间,取值范围为‘1000-01-01 00:00:00’~‘9999-12-3 23:59:59’。
  • 以‘YY-MM-DD HH:MM:SS’或者‘YYMMDDHHMMSS’字符串格式表示的日期和时间,其中YY表示年,取值范围为‘00’~‘99’,规则同DATE类型。
  • 以YYYYMMDDHHMMSS或者YYMMDDHHMMSS数字格式表示的日期和时间。
  • 使用NOW()来输出当前系统的日期和时间。

(5)TIMESTAMP类型:用于表示日期和时间,它的显示形式同DATETIME相同,但取值范围比DATETIME小。下面介绍几种TIMESTAMP类型与DATATIME类型不同的形式,具体如下:

  • 使用CURRENT_TIMESTAMP来输入系统当前日期和时间。
  • 输入NULL时,系统会输入系统当前日期和时间。
  • 无任何输入时,系统会输入系统当前日期和时间。

4.字符串和二进制类型

为了存储字符串、图片和声音等数据,MySQL提供了字符串和二进制类型。

数据类型

类型说明

CHAR

用于表示固定长度的字符串

VARCHAR

用于表示可变长度的字符串

BINARY

用于表示固定长度的二进制数据

VARBINARY

用于表示可变长度的二进制数据

BOLB

用于表示二进制大数据

TEXT

用于表示大文本数据

ENUM

表示枚举类型,只能存储一个枚举字符串值

SET

表示字符串对象,可以有零或多个值

BIT

表示位字段类型


(1)CHAR和VARCHAR类型:都用来表示字符串数据,不同的是,VARCHAR可以存储可变长度的字符串。

语法格式:CHAR(M) VARCHAR(M)

说明:M指的是字符串的最大长度。

注意:VARCHAR(M)所对应的数据所占用的字节数为实际长度加1


(2)BINARY和VARBINARY类型:表示二进制数据,类型类似于CHAR和VARCHAR。
语法格式:BINARY(M) 或 VARBINARY(M)
注意:BINARY类型的长度是固定的,如果数据的长度不足最大长度,将在数据的后面用“\0”补齐,最终达到指定长度。


(3)TEXT类型:用于表示大文本数据,例如,文章内容、评论等,:类型分为四种。

数据类型

存储范围

TINYTEXT

0~255字节

TEXT

0~65535字节

MEDIUMTEXT

0~16777215字节

LONGTEXT

0~4294967295字节


(4)BLOB类型:一种特殊的二进制类型,它用于表示数据量很大的二进制数据,例如图片、PDF文档等。BLOB类型分为四种。

数据类型

存储范围

TINYBLOB

0~255字节

BLOB

0~65535字节

MEDIUMBLOB

0~16777215字节

LONGBLOB

0~4294967295字节


注意:BLOB类型与TEXT类型很相似,但BLOB类型数据是根据二进制编码进行比较和排序,而TEXT类型数据是根据文本模式进行比较和排序。

(5)ENUM类型:
语法格式: ENUM(' 1',' 2',' 3'……' n')
说明:在上述格式中,('值1', '值2', '值3'……'值n')称为枚举列表,ENUM类型的数据只能从枚举列表中取,并且只能取一个。
注意:枚举列举中的每个值都有一个顺序编号,MySQL中存入的就是这个顺序编号,而不是列表中的值。

(6)SET类型:用于表示字符串对象,他的值可以有零个或多个,定义格式类似于ENUM类型。
语法格式:SET('值1', ‘值2’ ..., '值n')
注意:与ENUM类型相同,('值1', ‘值2’ ..., '值n')列表中的每个值都有一个顺序编号,MySQL中存入的也是这个顺序编号,而不是列表中的值。

(7)BIT类型:用于表示二进制数据。

语法格式:BIT(M)

注意:M用于表示每个值的位数,范围为1~64。如果数据的长度小于M,将在数据的左边用0补齐。

数据表基本操作

1.创建表
语法格式:
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype,
)character set charset_name collate collation_name;
说明: field  数据列名
datatype  列数据类型

2.查看表
语法格式:
desc tab_name;//查看表结构
show tables;  //查看当前数据库中所有的表
show create table tab_name;  //查看表的建表语句

3.修改表
语法格式:
ALTER TABLE tbl_name ADD (column datatype [DEFAULT expr] [, column datatype] ...);//新增列
ALTER TABLE tbl_name MODIEY (column datatype [DEFAULT expr] [, column datatype] ...);//修改列
ALTER TABLE tbl_name DROP (column);//删除列
ALTER TABLE tbl_name CHANGE [column] old_col_name new_col_name definition;//修改列名称
ALTER TABLE tbl_name character set utf8;//修改表字符集编码
RENAME TABLE old_tbl_name TO new_tbl_name;//修改表名

4.删除表

语法格式:

DROP TABLE tel_name;//删除数据表


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值