开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10382|回复: 8
收起左侧

[技术专题] 分享一下学习mysql的时候写的写的笔记

[复制链接]
结帖率:100% (38/38)
发表于 2022-4-8 21:51:56 | 显示全部楼层 |阅读模式   江西省赣州市
笔记使用 某MD编辑软件写的  真好试一下论坛的MD编辑器怎么样 嘻嘻


Msql基本语法

  (一)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

*/

结帖率:83% (5/6)

签到天数: 5 天

发表于 2022-5-26 00:23:43 | 显示全部楼层   浙江省金华市
感谢分享 感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-5-21 10:21:33 | 显示全部楼层   广东省汕头市
过来看下
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2022-5-17 11:07:27 | 显示全部楼层   河南省许昌市
学习一下
回复 支持 反对

使用道具 举报

发表于 2022-5-16 14:52:49 | 显示全部楼层   福建省泉州市
学霸666,感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-5-15 09:24:17 | 显示全部楼层   江西省南昌市

感谢分享~~~
回复 支持 反对

使用道具 举报

结帖率:84% (76/91)

签到天数: 16 天

发表于 2022-4-29 10:10:20 | 显示全部楼层   浙江省宁波市
学习一下
回复 支持 反对

使用道具 举报

发表于 2022-4-11 15:33:58 | 显示全部楼层   江苏省南京市
学习一下
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 8 天

发表于 2022-4-8 23:31:02 | 显示全部楼层   湖南省长沙市
select * from test union all select * from test1  
联合cha询 表字段名不一致的情况可以使用别名,一般情况下 都可以用别名保证两个不同表字段字段一致,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表