问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL——常见的一些列类型,表的增删查改操作,表的复制

发布网友 发布时间:2024-10-01 07:45

我来回答

1个回答

热心网友 时间:2024-10-25 19:28

一、常见列类型(字段类型)1.数值类型 :

1° 整型

①tinyint [1 byte;有符号-128~127,无符号0~255] ②smallint [2 bytes;有符号-2^15~2^15 - 1,无符号0~2^16 - 1] ③mediumint [3 bytes;有符号-2^23~2^23 - 1,无符号0~2^24 - 1] ④int [4 bytes;有符号-2^31~2^31 - 1,无符号0~2^32 - 1] ⑤bigint [8 bytes;有符号-2^63~2^63 - 1,无符号0~2^64 - 1] PS : 1>Δ默认均为有符号数。若想定义无符号数,需要在定义字段的类型时,在后面添加一个UNSIGNED。 2>以上范围均为补码可表示的范围。 3>bit类型默认为无符号数,使用格式为“bit(M)”,其中M表示指定的位数,默认值是1,实际范围是1~64;使用bit类型的字段,查询时以二进制的形式显示;当需要存入0或者1时,可以考虑使用bit(1)来节省空间。

2° 浮点型

①float [single precision, 4 bytes] ②double [double precision, 8 bytes] ③decimal [M, D],M决定了数的长度(M最大65),D决定了其中的小数位数(D最大30);如果D是0,表示无小数点或分数部分;若D被省略,默认是0;若M被省略,默认是10;

2.文本类型(字符串类型) :

①char [0~255(字符)],固定长度字符串(即分配的空间大小是固定的);这里的范围就是字符数的范围(不管中英文)。 ②varchar [0~65535 (0 ~ 2^16 - 1)(字节)],可变长度字符串(即分配的空间大小决定于实际的占用情况;这里的范围是字节的范围。实际最大字节是65535 - 3 = 65532,因为要预留出1~3个字节用于存储字段的大小,在不同编码中65532最终对应的字符数不同。 ③text [0 ~ 2^16 - 1] ,更简单,存放文本内容时可以考虑,可以将TEXT类型视为VARCHAR类型。PS : TEXT类型没有默认值。 ④longtext [0 ~ 2^32 - 1] PS : 实际使用时,括号中传入的一定是字符数。一般来讲,使用varchar类型更好;但是,若某个字段已明确为定长,使用char类型可以提高查询速度。

3.二进制类型 :

①blob [0 ~ 2^16 - 1] ②longblob [0 ~ 2^32 - 1] PS : 一般不会直接存储二进制数据。

4.日期类型 :

①date [日期,年月日] ②time [时间,时分秒] ③datetime [年月份 时分秒 YYYY-MM-DD HH:mm:ss] ④timestamp [时间戳],可在定义时间戳类型的字段时加入以下约束——NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,其中,NOT NULL表示不为空;DEFAULT...表示默认是当前时间戳;ON UPDATE...表示以后每次修改记录(INSERT, UPDATE),时间戳会自动更新为修改时的当前时间戳。

二、表的基本操作1.创建表 :

1° 基本语法

CREATE TABLE table_name ( field1 data_type, field2 data_type, field3 data_type... ) CHARACTER SET 字符集 COLLATE 校对规则 ENGINE 引擎; 其中—— ①field : 字段名,表示指定的列名。 ②data_type : 字段的数据类型,表示指定的列类型。 ③CHARACTER SET : 若不指定则为表所在数据库的字符集。 ④COLLATE : 若不指定则为表所在数据库的排序规则。 PS : 创建表时,要根据需保存的数据创建相应的列,并根据字段的数据类型定义相关的列类型。

2° 代码演示

现有三张一模一样的表(table_0,table_1,table_2),表的具体内容如下图所示 :

删除表的代码如下 :

2.删除表 :

1° 基本语法

①删除整张表—— DROP TABLE table_name; ②只删除表数据(不可使用WHERE)—— TRUNCATE TABLE table_name; ③只删除数据(可使用WHERE)—— DELETE FROM table_name WHERE...;

3.修改表 :

1° 基本语法

①添加列—— ALTER TABLE table_name ADD column data_type [DEFAULT expr], ADD column data_type [DEFAULT expr]...; ②修改列的类型—— ALTER TABLE table_name MODIFY column data_type [DEFAULT expr], MODIFY column data_type [DEFAULT expr]...; ③修改列的名字—— ALTER TABLE table_name CHANGE 旧列名 新列名 data_type NOT NULL DEFAULT ''; ④删除列—— ALTER TABLE table_name DROP column, DROP column ...; PS : ①修改表名—— RENAME TABLE 旧表名 TO 新表名; ②修改表字符集—— ALTER TABLE 表名 CHARACTER SET 字符集; ③查看表的结构—— DESC 表名; (可以查看表的列的情况)

4.复制表 :

1° 基本语法

①表数据的复制—— INSERT INTO table_name(column_1, column_2...) SELECT (column_1, column_2...) FROM table_name; 该语句可以将查询到的表中的指定数据复制到当前表中,亦可以通过该语句进行自我复制(蠕虫复制)。通过蠕虫复制可以为表中添加海量数据,可用于SQL语句性能的测试。 ②表结构的复制—— CREATE TABLE table_name LIKE table2_name; PS : 表的去重—— 1>先创建一张临时表,该表的表结构与要去重的表相同。(使用LIKE); 2>通过DISTINCT关键字处理后,把要去重的表中的数据复制到临时表一份; 3>清除掉要去重的表中的全部记录; 4>将临时表中的记录复制到要去重的表一份; 5>删除临时表;

2° 代码演示

演示Ⅰ—— 表的复制

现有一张员工表如下 :

要求建立一张新表demo,并将该员工表中的数据复制到新表demo中,代码如下 :

运行效果 :

演示Ⅱ—— 表的去重

对演示Ⅰ中的demo表进行多次蠕虫复制,复制后,demo表中的记录总数如下图所示 :

先对demo表进行去重操作,代码如下 :

运行效果 :

System.out.println("END-----------------------------------------------------------------------------";
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中华新生活倍倍加重疾险(互联网)-智多星版值得推荐吗?注意哪些问题? 中华新生活倍倍加重疾险(互联网)-智多星版的优点和缺点是什么?保障内 ... 中华新生活倍倍加重疾险(互联网)-智多星版应该小心哪些陷阱? 中华新生活倍倍加重疾险(互联网)-智多星版有优点嘛? 中华新生活倍倍加重疾险(互联网)-智多星版怎么样?有什么优缺点? #儿时疑惑#真的有龙这个动物嘛? 12生肖就他现在没有哦 去俄罗斯旅游的饮食禁忌 去俄罗斯旅游怎么注意饮食 ...而正常写着3.6--6.1mmol/L,请问我是不是得了糖尿病了? ...得了糖尿病,请问对毕业有什么影响吗,再就是我可以得到保险吗(当然我... 250V2A 的美标电器,问题~~~ 梦见清澈的河水里面有很多龙 在MySQL数据库中的表的字段选择char,varchar类型,还有选择int ,small... Word2003如何批量清除页眉页脚 Word2003怎样删除页眉页脚word2003怎样删除页眉页脚格式 买空调,美的M180变频空调大家觉得这一系列的空调怎么样? 美的M180直流变频空调好不好?想听听用过朋友得意见。 美的变频空调银河F180系列和M系列相比有什么区别,哪个好一些? 广西城厢镇经济发展 广西城厢镇基本概述 苹果手机如何查看已阻止的来电? 腰椎间盘突出压迫腿麻木怎么办 戍戌戊什么意思啊? 肝腹水治疗方法有哪些 肝腹水早期如何治疗 肝腹水如何治疗 CAD中画了一条20CM的线,然后要把这条线段中间分为5CM、10CM,要怎么画... cad如何把多段线等分成多个线段 银行利息活期和死期分别是多少? 死期存五千元,三年后利息是多少? ...微信扫一扫查询健康码、行程码的图片怎么生成的?要微信的,不要支付... MySQL中A字段的操作和用法简介mysql中a 云南昆明移动公司太坑了 会计专业有什么科目吗 如何让你的大脑休息一下 困倦的灵魂是什么意思? 翡翠有真假之分吗 怎么可以分出真假翡翠 怎么辨别真假翡翠 翡翠怎么分真假好坏 如何鉴别翡翠真假好坏 怎么分翡翠真假 龙腾世纪:起源 好玩吗 龙腾世纪起源不同背景故事有哪些不同 索尼笔记本ea28,wifi物理键开了没有用,灯不亮!开不了wifi啊!! 奔腾t77语音控制如何开启 我想学习SketchBook软件屏幕绘画人物建筑等等,现在我连绘画基础都没有... agv的充电方式 绿豆汤配栗子为什么治好了我的发烧感冒? 晚上睡觉躺在床上很容易口渴 你好.请问下.我是今年高考落榜生.成绩差.现在已经9月10号了.想找间大 ... 如何判断自己是阳痿? 陕西咸阳限号包含摩托车吗?