欢迎光临
我们一直在努力

MySQL基本语法

  (一)information_schema 数据库

1.   schemata表

schema_name     -- 用来存储数据库名

2.   tables 表

table_schema        -- 用来存储数据库名
table_name          -- 用来存表名

3.   columns 表

table_schema        -- 数据库名
table_name          -- 表名
column_name         -- 字段名 (列名)

  (二)数据库管理

1.  创建数据库

create database [数据库名];

2.  删除数据库

drop database [数据库名];

3.  查看数据库

show databases

4.  进入数据库

use [数据库名];

5.  查看数据表

show tables;

  (三)数据表管理

1.  创建数据表

create table [表名] (
    [列名] [类型] not null,     -- 不允许为空
    [列名] [类型] null,         -- 允许为空
    [列名] [类型] default [值]   -- 如果插入数据为空时 默认的值
)default charset=utf8;          -- 设置编码为utf8

2.  删除表

drop table [表名];

3.  清空表

delete from [表名];

truncate table [表名];        -- 速度快 但是无法撤销操作

  (四)修改表

1.  查看列

desc [表名];

2.  添加列

alter table [表名] add [列名] [类型] default [默认值];

3.  删除列

alter table [表名] drop column [列名];

4.  修改列类型

alter table [表名] modify column [列名] [类型];

5.  修改列 类型+名称

alter table [表名] change [原列名] [新列名] [新类型]

6.  添加主键

alter table [表名] alter [列名] set default [值];

(五)常见的列类型

1.  整数类型

int             -- 有符号整数,取值范围 -2147483648 ~ 2147483648
int unsigned    -- 无符号整数,取值范围 0 ~ 4294967295
int(5)zerofill  -- 用于显示 当不足5位时自动在前面补0
tinyint             -- 有符号整数  -128 ~ 127
tinyint unsigned    -- 无符号整数 0 ~ 255
bigint              -- 有符号整数
bigint unsigned     -- 无符号整数

2.  小数类型

decimal ([小数整体长度] , [保留多少位小数])
float ([小数整体长度] , [保留多少位小数])    -- 单浮点数,非精确小数值
double ([小数整体长度] , [保留多少位小数])   -- 双浮点数

3.  字符串类型

char ([长度])     -- 固定长字符串 最多支持 255 个字符
varchar ([长度])  -- 变长字符串 最多可容纳 65535 个字节
text -- 常用于保存边长大字符串 可以保存 65535 (2**16 -1) 个字符

4.  时间类型

datetime    --YYYY-MM-DD HH:MM:SS (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59)
timestamp   --YYYY-MM-DD HH:MM:SS (1970-01-01 00:00:00 ~ 2037-12-31 23:59:59)
date        --YYYY-MM-DD (1000-01-01 ~ 9999-12-31)
time        --HH:MM:SS (-838:59:59 ~ 838:59:59)

(六)数据表的增删改查

1.   新增数据

insert into [表名] ([列名],[列名],[列名]) values([对应列值],[对应列值],[对应列值])

2.   删除数据

delete from [表名] where [条件];

3.   修改数据

update [表名] set [列名]=[值] where [条件]
update [表名] set [列名]=concat([列名]+[值])   -- 字符串拼接

4.   查询数据

select [列名] from [表名] where [条件]
select * from [表名] where [条件]   --查询某表下面的所有列

(七)条件语句 + 其他

and     --前后两个条件必须成立
/*
2-1=1 or 2+1=3   返回真
2-1=1 or 2+1=2   返回假
2-1=0 or 2+1=2   返回假
*/ 
or      --前后两个条件只需要满足一个即可

/*
2-1=1 or 2+1=2   返回真
2-1=0 or 2+1=2   返回假
*/
like [%数据%]     --模糊匹配

# %在mysql中是 通配符
between --介于什么之间

# between  1 and 4  介于2和4之间

(八)数据表排序

order by [列] asc;       -- 正序
order by [列] desc;      -- 倒序

# 多列排序
order by [列] asc,[列] desc;

# 例
select * from test order by name desc -- 查询 test表 按name列 进行倒序排序

(九)取部分数据

limit [第几列],[取出多少行数据]

-- 例
select * from test limit 0,1 -- 查询 test表  从第0个位置取1条数据
select * from test limit 1 -- 查询 test表 取第一条数据
offset  -- 起始位置

-- 例
select * from test limit 1 offset 0 -- 查询 test表 从第0个位置取1条数据 

(十)联合查询

union -- 列数需要相同

# 例
select * from test union select * from test1  -- 自动去重
select * from test union all select * from test1  -- 不去重 保留所有

(十一)注释

/*

一、 注释符:
1. #
2. -- 
3. /**/   支持行注释
二、 内联注释
1. /*! SQL语句 */  只有Mysql可以识别   常用于绕过 WAF

*/
赞(0) 打赏
未经允许不得转载:龙城网络 » MySQL基本语法

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册