数据库表和表数据行的操作

1|0一、数据表的操作

1|11. 增——操作

# 增 语法: create table 表名( 字段名 列类型 [可选的参数], ### 记住加逗号 字段名 列类型 [可选的参数], ### 记住加逗号 ..... 字段名 列类型 [可选的参数] ### 最后一行不加逗号 )charset=utf8; #### 后面加分号 # 创建表时的列的约束************************************** auto_increment : 自增 primary key : 主键索引 , 加快查询速度 , 列的值不能重复 not null : 标识改字段不能为空 ,若不指定该约束条件,则在插入表数据时,若不给值则默认值时null,且在查询 时,where 条件的写法是 where 列名 is null 。但是我们在创建表时,一般还是写上 not null default '' ,此时我们的where条件的写法就是 where 列名 = '' 。 因为 where 列名 = ''的查询速度比where 列名 is null 的查询速度要快。 default : 为该字段设置默认值 # 列类型:********************************** 1.数字类型: 当列类型为数字类型时,在上面的列类型后面可以加一个参数 unsigned ,该参数表示让前面的数字类型的范围是无符号的范围。不加则默认是signed,表示有符号的范围。 无符号的意思是,假如 int 类型的整个范围是200,无符号的范围是 0~199 而有符号的范围是 -100~99 , 有符号的范围包括负数,无符号没有负数。 整型: tinyint smallint mediumint int (**************************推荐使用) bigint 浮点型: float 当小数位多时不一定精确,一般四舍五入保存两位小数 double 与float类似 decimal 可以表示非常精确的数字 语法: decimal(m, d) m是数字总个数(负数时不包括负号),d是小数点后个数。 若保存的数据的小数部分不足d,则自动补0,若小数部分多余d,则四舍五入到d个 2.字符串 char(长度) 定长的字符串,无论保存的数据是短是长,都按固定的长度保存,即都占用指定的大小的存储空间。 varchar(长度) 变长,会根据保存的数据的实际大小来开辟存储空间保存。并且一直自带一个字节的大小来保存数据的长度。 3.时间日期类型 year 只有年份 date 年月日 time 时分秒 datetime 年月日时分秒(***********************推荐使用) timestamp 时间戳 表示从1970计算机元年开始到现在的秒数 4. 枚举 enum() 列出所有选项。 和列表类似,限制存储的数据只能从括号内选择一个。 # 实例: create table t1( id int, name char(5) )charset=utf8; # Query OK, 0 rows affected (0.72 sec) 如果回显是Quey ok,代表创建成功

1|22. 删——操作

# 删除表 语法: drop table 表名; #### 线上禁用

1|33. 改——操作

# 修改表名和字段 # 1.修改表名 语法: ALTER TABLE 旧表名 RENAME 新表名; # 2.增加表字段 语法: ALTER TABLE 表名 ADD 字段名 列类型 [可选的参数], .... ADD 字段名 列类型 [可选的参数]; 实例: mysql> alter table t88 add name varchar(32) not null default ''; 在每一增加字段的语句的最后都可以添加一个参数——》first 或者 after 已存在的字段名, first 表示添加的字段放在所有字段的第一行。 after表示添加的字段放在after指定的字段后面。没有参数则默认添加在最后一行。 # 3.删除表字段 语法: ALTER TABLE 表名 DROP 字段名; # 4.修改表字段 语法: #修改某字段的属性 ALTER TABLE 表名 MODIFY 字段名 数据类型 [完整性约束条件…]; #修改字某段的名字和属性 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

1|44. 查——操作

# 查看表 语法: show tables;

1|55. 复制表结构

  • 复制表的结构只是复制某个表的字段和字段的属性,表中的数据不会复制,所以复制后的表为空。
语法: create table 新表名 like 已存在的表名;

2|0二、表数据行的操作

2|11. 增——操作

# 增加数据 语法: insert into 表名 (列1, 列2) values (值1,'值2'); 若不写列名,则values里的值会依次传给各列。写了列名则会把值一一对应的传给列。

2|22. 删——操作

# 删除某行数据 语法: delete from 表名 where 条件; delete from 表名; 当没有where条件时,删除表中所有的数据 truncate 表名; #### 固定写法,没有where条件 区别: 1. delete之后,插入数据从上一次主键自增加1开始, truncate则是从1开始 2. delete删除, 是一行一行的删除, truncate:全选删除 truncate删除的速度是高于delete的

2|33. 改——操作

语法: update 表名 set 列名1=新值1,列名2=新值2 where 条件;

2|44. 查——操作

语法: # 1.查询列 select 列1, 列2 from 表名; (*代表查询所有的列) # 2.查询全部 select * from 表名; (*代表查询所有的列) #3. 按条件查询 select * from t66 where 条件; # 4. 去重查询 select distinct 列1 from 表名; 表示查询所有列1的数据,把其中重复的数据去掉。 # 5. 通过四则运算查询(不要用),把查询后的结果进行运算,会降低数据库的查询速率********** select 列名*10 from 表名; 此列名为int类型 # 6. in方法 类似python中的成员运算 select * from t66 where id in (23,34,11); # 7. 模糊查询 like 方法 (不要用),会降低数据库的查询速率********** % 表示其他所有 , _ 表示代表任意一个 # 以x开头 select * from t66 where name like 'x%'; # 以x结尾 select * from t66 where name like '%x'; # 包含x的 select * from t66 where name like '%x%'; # 8. between..and...: 取值范围是闭区间 select * from t66 where id between 30 and 40;

__EOF__

本文作者BigSun丶
本文链接https://www.cnblogs.com/Mcoming/p/11759330.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   BigSun丶  阅读(278)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示