Mysql基础(2)SQL 简介、DDL、数据类型

1、sql 通用语法

        (1)sql 语句 可以单行或者多行书写 ,以 分号结尾

        (2)sql 语句 可以使用空格、缩进 增强语句的可读性

        (3)mysql 数据库的 sql 语句不区分大小写,关键字 建议使用 大写

        (4)注释:单行 -- 或 # , 多行  / *   * /

2、sql 分类

        (1)DDL         数据库定义语言 , 新增 数据库、表、字段

        (2)DML        数据库操作语言 , 增删改表中数据

        (3)DQL        数据库查询语言 , 查询表中记录

        (4)DCL        数据库控制语言 , 创建数据库用户、控制数据库访问权限

3、DDL ==> 数据库定义语言

(1)数据库 DDL

#    数据库 DDL 操作  
#    show / create(if not exists / drop (if exists) / use / select 

#    1、查询数据库 -- 查询所有数据库 ;                             
show databases ;   
\c           
#    2、修改数据库 -- 创建数据库 ;                      
create database my_db_0 ;  
\c 
#    3、修改数据库 -- 创建数据库,已存在则取消命令 ;                            
create database if not exists my_db_0 ; 
\c 
#    4、修改数据库 -- 创建数据库,设置字符编码类型 UTF - 8 ;    
create database my_db_1 default charset utf8mb4 ;   
\c
#    5、修改数据库 -- 删除数据库     ;    
drop database my_db_0 ;                               
\c
#    6、修改数据库 -- 删除数据库,不存在则取消命令     ;    
drop database if exists my_db_0 ;                  
\c
#    7、修改数据库 -- 使用数据库     ;    
use my_db_0 ;   
\c
#    8、查询数据库 -- 查询当前使用的数据库        ;    
select database();                                  
\c




(2)表 DDL

#    表 DDL 操作
#    show / create / drop / truncate / desc

#    表中字段 DDL 操作
#    alter ...... add / change / modify / rename / drop 

#    1、查询表 -- 查询所有表       ;    
show tables ;                                      
\c
#    2、查询表 -- 查询表结构     ;    
desc table user ;                                  
\c
#    3、查询表 -- 查询指定表的建表语句      ;    
show create table user ;                           
\c
#    4、创建表 -- 字段设置       ;    
create table my_table(

id int default null comment '编号' ,

name varchar(50) default null comment '姓名' ,

age int default null comment '年龄' ,

gender varchar(1) default null comment '性别' 

) 

ENGINE = InnoDB 

DEFAULT CHARSET = utf8mb4 

COLLATE = utf8mb4_0900_ai_ci 

comment = '用户表' ;  
\c
#    5、修改表 -- 增加字段   ;  
alter table my_table add test_column varchar(10) comment '测试字段';  
\c
#    6、修改表 -- 修改字段名称和类型   ;  
alter table excel change test_column test_change_column varchar(100);
\c
#    7、修改表 -- 修改字段类型   ;  
alter table excel modify test_change_column int(100);
\c
#    8、修改表 -- 修改表名称   ;  
alter table excel rename to my_alter_test;
\c
#    9、修改表 -- 删除表字段   ;  
alter table excel drop my_column;
\c
#    10、删除表
drop table if exists my_table;
\c
#    11、重做表 -- 先删除,再重建表结构
truncate table my_table;
\c

4、Mysql 数据类型   

(0)长度标识        

类型

大小

( bytes )

备注
tiny 2 ^ 8 - 1 255
small 2 ^ 16 - 1 65535
medium 2 ^ 24 - 116777215
long 2 ^ 32 - 1     4294967295
big 2 ^ 64 - 1       1.8446744073709552E19

(1)数值类型

类型

大小

( bytes )

有符号范围

( singed) 

无符号范围

( unsinged) 

备注
TINYINT1- 2 ^ 7 ~ 2 ^ 7 - 10 ~ 2 ^ 8 - 1极小整数
SMALLINT2- 2 ^ 15 ~ 2 ^ 15 - 10~ 2 ^ 16 - 1小型整数
MEDIUMINT3- 2 ^ 23 ~ 2 ^ 23 - 10~ 2 ^ 24 -1中等整数
INT4- 2 ^ 31 ~ 2 ^ 31- 10~ 2 ^ 32 - 1普通整数
BIGINT8- 2 ^ 63 ~ 2 ^ 63 - 10~ 2 ^ 64 - 1大型整w数
FLOAT4- 3.40E + 38 ~ 3.40E + 38单精度浮点值
DOUBLE8

- 1.79E + 308 ~

- 1.79E + 308

双精度浮点值
DECIMAL精确型小数值

           

       

(2)字符串类型

类型

大小 ( bytes )

备注
CHAR0 ~ 2 ^ 8 - 1定长字符串,长度为默认长度,用空间换时间,如性别
VARCHAR0 ~ 2 ^ 16 - 1变长字符串,计算长度设置长度,用时间换空间,如姓名
TINYBLOB0 ~ 2 ^ 8 - 1极小型二进制数据
TINYTEXT0 ~ 2 ^ 8 - 1极小型短文本字符串
BLOB0 ~ 2 ^ 16 - 1二进制形式长文本数据
TEXT0 ~ 2 ^ 16 - 1长文本数据
MEDIUMBLOB0 ~ 2 ^ 24 - 1二进制形式中等长度文本数据
MEDIUMTEXT0 ~ 2 ^ 24 - 1中等长度文本数据
LONGBLOB0 ~ 2 ^ 32 - 1二进制形式极大长度文本数据
LONGTEXT0 ~ 2 ^ 32 - 1极大长度文本数据

           

       

(3)日期时间类型

类型

大小 ( bytes )

备注
DATE3YYYY-MM-DD
TIME3HH-MM-SS
YEAR1YYYY
DATETIME8YYYY-MM-DD HH-MM-SS
TIMESTAMP4YYYY-MM-DD HH-MM-SS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值