MySQL基础(二)-SQL语言

SQL

SQL通用语法

  1. SQL语句可以单行或者多行书写,以分号结尾。

  1. SQL语句可以使用空格/缩进来增强语句的可读性。

  1. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

  1. 注释

  • 单行注释:--注释内容 或 #注释内容(MySQL特有)

  • 多行注释:/*注释内容*/

SQL分类

  • DDL:数据定义语言,用于定义数据库对象(数据库,表,字段)。

  • DML:数据库操作语言,用于对数据库表中的数据进行增删改查。

  • DQL:数据查询语言,用来查询数据库中表的记录。

  • DCL:数据控制语言,用来创建数据库用户、控制数据库的访问权限。

DDL-数据库操作

查询所有数据库

SHOW DATABASES;

查询当前数据库

SELECT DATABASE();

创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符串] [COLLATE 排序规则];

删除

DROP DATABASE [IG EXISTS]数据库名;

使用

USE 数据库名;

DDL-表操作-查询

查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;

DDL-表操作-创建

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

注意:[...]为可选参数,最后一个字段后面没有逗号。

DDL-表操作-数据类型

数值类型

类型

大小

范围(有符号)

范围(无符号)

用途

TINYINT

1 Bytes

(-128,127)

(0,255)

小整数值

SMALLINT

2 Bytes

(-32 768,32 767)

(0,65 535)

大整数值

MEDIUMINT

3 Bytes

(-8 388 608,8 388 607)

(0,16 777 215)

大整数值

INT或INTEGER

4 Bytes

(-2 147 483 648,2 147 483 647)

(0,4 294 967 295)

大整数值

BIGINT

8 Bytes

(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)

极大整数值

FLOAT

4 Bytes

(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)

0,(1.175 494 351 E-38,3.402 823 466 E+38)

单精度

浮点数值

DOUBLE

8 Bytes

(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

双精度

浮点数值

DECIMAL

对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2

依赖于M和D的值

依赖于M和D的值

小数值

日期和时间类型

类型

大小

(bytes)

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

'-838:59:59'/'838:59:59'

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'

YYYY-MM-DD hh:mm:ss

混合日期和时间值

TIMESTAMP

4

'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYY-MM-DD hh:mm:ss

混合日期和时间值,时间戳

字符串类型

类型

大小

用途

CHAR

0-255 bytes

定长字符串

VARCHAR

0-65535 bytes

变长字符串

TINYBLOB

0-255 bytes

不超过 255 个字符的二进制字符串

TINYTEXT

0-255 bytes

短文本字符串

BLOB

0-65 535 bytes

二进制形式的长文本数据

TEXT

0-65 535 bytes

长文本数据

MEDIUMBLOB

0-16 777 215 bytes

二进制形式的中等长度文本数据

MEDIUMTEXT

0-16 777 215 bytes

中等长度文本数据

LONGBLOB

0-4 294 967 295 bytes

二进制形式的极大文本数据

LONGTEXT

0-4 294 967 295 bytes

极大文本数据

DDL-表操作-修改

添加字段:

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
例:
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';

修改数据类型:

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

修改字段名和字段类型:

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

例:将emp表的nickname字段修改为username,类型为varchar(30)

ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

例:将emp表的表名修改为employee

DDL-表操作-修改

删除表

DROP TABLE[IF EXIXTS] 表名;

例:将emp表的表名修改为employee

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

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

DML语句和DQL语句后续增加

猜你喜欢

转载自blog.csdn.net/m0_60322614/article/details/128804505