MySQL 表的创建、复制、修改与删除

MySQL中如何利用代码完成表的创建、复制、修改和删除。

一、创建表

--创建新表,如果存在则覆盖
drop table [if exists] 表名;
--创建新表,如果存在则返回
create table
[if not exists] 表名 -- 不存在才创建,存在就跳过
(<列名1> <数据类型> -- 列名和类型必选
  [ primary key -- 可选的约束,主键
   | foreign key  -- 外键,引用其他表的键值
   | auto_increment -- 自增ID
   | comment <注释> -- 列注释(评论)
   | default <值> -- 默认值
   | unique -- 唯一性约束,不允许两条记录该列值相同
   | not null -- 该列非空,输入空会报错
   | current_timestamp -- 当前时间戳
  ], ...
) [character set <字符集名>] -- 字符集编码
[collate <校对规则名>] -- 列排序和比较时的规则(是否区分大小写等)

二、复制表

  • 复制表的结构
create table 新表名 like 旧表名;
  • 复制表的结构+数据
create table 表名 
select 查询列表 from 旧表名 [where 筛选条件];

三、修改表

  • 直接修改表
alter table 表名 修改选项;
选项集合:
{ add column <新增列名> <类型> after <某一列>  -- 在某一列之后增加列
| change column <旧列名> <新列名> <新列类型> -- 修改列名或类型
| alter column <列名> { set default <默认值> | drop default } -- 修改/删除 列的默认值
| modify column <列名> <类型> -- 修改列类型
| drop column <列名> -- 删除列
| rename to <新表名> -- 修改表名
| character set <字符集名> -- 修改字符集
| collate <校对规则名> } -- 修改校对规则(比较和排序时用到,是否区分大小写等)

建议:修改列属性时使用modify;修改列名使用change。

  • 删除表之后重建表
drop table if exists 表名; 
create table if not exists 表名...;

四、删除表

drop table [if exists] 表名 [,表名1,...];
本文转载于网络 如有侵权请联系删除

相关文章

  • 载货车市场:受政策影响较大,产品结构变化

    本刊编辑部自动化仓储系统市场:需求增长,资本助力,技术创新(作者北京伍强智能科技有限公司董事长尹军琪)移动机器人(AGV/AMR)行业:繁荣发展,融合创新(作者为新松机器人自动化股份有限公司副总裁兼移动机器人BG总裁张雷)工业车辆行业:销量再创历史新高(作者为中国工程机械工业协会工业车辆分会秘书长张洁)货架行业:市场规模继续扩大,直面原材料价格波动(作者为上海精星仓储设备工程有限公司总经理崔雄)托盘行业:延续增长趋势,加速创新升级(作者为中国物流与采购联合会托盘专业委员会孙熙军、王芮)载货车市场:受政策影响较大,产品结构变化(作者为中汽信息科技(天津)有限公司丁倩、李新波) 物流咨询行业:业务需求爆发,直面转折时刻(作者为法布劳格物流咨询公司中国区首席专家张芸)受政策及行业需求影响,我国货车产品结构正发生深刻变化一、2021年我国货车产业发展环境2021年是我国“十四五”开局之年,在统筹疫情防控和经济发展的情况下,中国国内生产总值(GDP)为1143670亿元,按不变价格计算,比上年增长8.1%,两年平均增长5.1%,在主要经济体中表现亮眼,实现“十四五”良好开局。为了对冲疫情的不利影

  • Apache自定义日志格式

    大家好,又见面了,我是你们的朋友全栈君。1.Apache日志参数说明:Apache日志格式字符串的含义 %%百分号(Apache2.0.44或更高的版本) %a远端IP地址 %A本机IP地址 %B除HTTP头以外传送的字节数 %b以CLF格式显示的除HTTP头以外传送的字节数,也就是当没有字节传送时显示’-‘而不是0。 %{Foobar}C在请求中传送给服务端的cookieFoobar的内容。 %D服务器处理本请求所用时间,以微为单位。 %{FOOBAR}e环境变量FOOBAR的值 %f文件名 %h远端主机 %H请求使用的协议 %{Foobar}i发送到服务器的请求头Foobar:的内容。 %l远端登录名(由identd而来,如果支持的话),除非IdentityCheck设为”On“,否则将得到一个”-”。 %m请求的方法 %{Foobar}n来自另一个模块的注解Foobar的内容。 %{Foobar}o应答头Foobar:的内容。 %p服务器服务于该请求的标准端口。 %P为本请求提供服务的子进程的PID。 %{format}P服务于该请求的PID或TID(线程ID),format的取

  • 3分钟理解np.meshgrid()[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。官方解释: np.meshgrid(*xi,**kwargs) Returncoordinatematricesfromcoordinatevectors.从坐标向量中返回坐标矩阵 不够直观直观的例子二维坐标系中,X轴可以取三个值1,2,3,Y轴可以取三个值7,8,请问可以获得多少个点的坐标? 显而易见是6个: (1,7)(2,7)(3,7) (1,8)(2,8)(3,8)np.meshgrid()就是干这个的!#coding:utf-8 importnumpyasnp #坐标向量 a=np.array([1,2,3]) #坐标向量 b=np.array([7,8]) #从坐标向量中返回坐标矩阵 #返回list,有两个元素,第一个元素是X轴的取值,第二个元素是Y轴的取值 res=np.meshgrid(a,b) #返回结果:[array([[1,2,3][1,2,3]]),array([[7,7,7][8,8,8]])]复制同理还可以生成更高维度的坐标矩阵发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/1305

  • python取余什么意思_python中取余

    大家好,又见面了,我是你们的朋友全栈君。首先取响应头里的编码,如果是几种中文编码之一,则认为中文网页,如果不是中文编码,也不是几种unicode方案之一,则不是中文.否则再在标签里找charset,如果有并且为几种中文编码之一,则是中文如果不是中文编码,也不是几种unicode方案之一,则不是中文.否则对body的内容(如果考虑性能问题,可以不对整个body,只对前N个字节)用正则洗标签过滤所有ASCII码字符,剩余部分按字取内码,如果考虑性能问题其实取第一个字符就可以了,如果性能不重要,可以多采样几个(防止一个页面有中文日文等各种文字混合)判断采到的字符的内码是否位于中文unicode区域.如果性能非常不重要,只是要代码简单,那么做法可以:正则1这样可以取到第一个不是ASCII的字符,判断这个字符是否是中文字符就可以了参考代码:#!/usr/bin/envpython#-*-encoding:utf-8-*-importrequestsimportcld2classDetector(object):zh_cn_encodes=(‘gbk’,‘gb2312’,‘gb18030’)def

  • 后端思想篇:设计好接口的36个锦囊!

    前言大家好,我是捡田螺的小男孩。作为后端开发,不管是什么语言,Java、Go还是C++,其背后的后端思想都是类似的。后面打算出一个后端思想的技术专栏,主要包括后端的一些设计、或者后端规范相关的,希望对大家日常工作有帮助哈。我们做后端开发工程师,主要工作就是:如何把一个接口设计好。所以,今天就给大家介绍,设计好接口的36个锦囊。本文就是后端思想专栏的第一篇哈。1.接口参数校验 入参出参校验是每个程序员必备的基本素养。你设计的接口,必须先校验参数。比如入参是否允许为空,入参长度是否符合你的预期长度。这个要养成习惯哈,日常开发中,很多低级bug都是不校验参数导致的。比如你的数据库表字段设置为varchar(16),对方传了一个32位的字符串过来,如果你不校验参数,插入数据库直接异常了。出参也是,比如你定义的接口报文,参数是不为空的,但是你的接口返回参数,没有做校验,因为程序某些原因,直返回别人一个null值。。。2.修改老接口时,注意接口的兼容性很多bug都是因为修改了对外旧接口,但是却不做兼容导致的。关键这个问题多数是比较严重的,可能直接导致系统发版失败的。新手程序员很容易犯这个错误哦~所

  • pandas每天一题-探索分析:找出哪些菜式做成套餐能大卖

    前面我们一直在讲解pandas数据处理的各种知识点,现在开始就应用上这些知识点来探索一下点餐数据。本系列计划每天更新一期,希望各位小伙伴先自行思考,再查看答案。如果对你有帮助,记得转发推荐给你的好友!上期文章:pandas每天一题-题目19:"炸列"操作的多种方式后台回复"数据",可以下载本题数据集如下数据:importpandasaspd importnumpyasnp fromitertoolsimportcombinations df=pd.read_csv('chipotle.tsv', sep='\t', converters={'item_price':lambdax:float(x[1:-1])}) df 复制数据描述: 此数据是订单明细表。一个订单会包含很多明细项,表中每个样本(每一行)表示一个明细项order_id列存在重复item_name是品类名称,例如"罐装饮料"quantity是明细项数量item_price是该明细项的总价钱choic

  • c#之dynamic类型通过属性获取值(get value by key)

    c#的语法中,如何通过key获取dynamic动态类型中的key对应的值呢?语法如下:staticvoidMain(string[]args) { Console.WriteLine("HelloWorld!"); dynamicd=new{value1="some",value2="random",value3="value"}; stringvalue3=d.GetType().GetProperty("value3").GetValue(d,null); Console.WriteLine($"value3:{value3}"); Console.ReadLine(); }复制即d.GetType().GetProperty("value2").GetValue(d,null);注意这个写的时候没有代码提示,但是是可以的。

  • 大数据基础知识科普(2)

    上一篇《大数据基础知识科普(1)》为大家讲解了关于服务器,存储磁盘以及RAID的内容。这一篇将沿着之前的脚步,为大家带来更多学习大数据必须要掌握的知识! 目录什么是集群?什么是计算机网络?什么是交换机?什么是局域网?什么是网络拓扑?以太网络InfiniBand网络什么是机架?IDC数据中心思考:为什么和谐号、复兴号会这么快?小结什么是集群?在正式讨论这个问题之前,我们先来看一组图。 羊群 鸟群 集群 相信通过上面的类比,大家对集群有了一个大概的认知。没错,集群就是一组相互独立的、通过高速计算机网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。 而计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件/硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。什么是计算机

  • 威联通(NAS)搭建个人图床

    名词解释: 图床:一般是指储存图片的服务器,有国内和国外之分。国外的图床由于有空间距离等因素决定访问速度很慢影响图片显示速度。国内也分为单线空间、多线空间和cdn加速三种。更详细的内容,请左转查看百度百科声明:这个功能一般人可能用不到,所以可能大部分人都不会点开看,如果你点开看了,并给你提供了帮助,说明我们是同道中人啊~~~我其实一直都不用图床,因为总是担心图床平台挂掉。今天突发奇想,不如自己搭建一个图床,岂不是就不用担心图床挂掉的问题了?好,说干就干教程开始:第一步:开启威联通的WEB服务器以管理员admin登录威联通管理后台,打开【控制台】-【WEB服务器】,启用WEB服务器,如下图:设置好自己用的端口号,点击【应用】,第一步就完成了。注意:如果应用后,显示还是没有启用成功,这时候你需要重启一下NAS。我今天就折腾了半天,发现还是重启大法好使。第二步:创建图床文件夹打开【FileStation】,创建一个你存放图床代码的文件夹,如下图:我在Web目录下,创建了image文件夹,用于存放图床网站代码。第三步:下载图床代码从GitHub下载,打开地址:https://github.co

  • 谷歌从“不作恶”到“行正道”,收购Digisfera后将开源

    还记得镁客网不久前报道过的谷歌街景吗?作为谷歌地图的一项特色服务,谷歌街景自上线以来拍摄范围已经覆盖了全球9个国家的135个城市,可适应多种地理环境,并且能够给用户提供360度实景拍摄照片。最近,谷歌街景又有新动作。在其新增虚拟现实模块后,为了打造用户体验更加优秀的360度环绕摄影画面,谷歌日前收购了一家专注于全景图像技术研究的初创公司Digisfera。目前,双方并未披露本次收购的金额。据悉,Digisfera的员工在收购完成后将加入到谷歌街景团队。这家名为Digisfera的创业公司,主要提供涉及360度图像摄影、设计以及研发服务,成立于2011年1月,总部位于葡萄牙。成立至今,这家公司已经承揽了很多重量级的全景图像项目,包括拍摄美国总统奥巴马的就任仪式、2014年巴西世界杯和2014年俄罗斯索契冬奥会。除此之外,Digisfera还开发了两套摄像工具:PanoTag和Marizano。前者可以让开发者在他们的app里加入标签,而后者则可以处理你的全景图像并且将之导入浏览器中。不过,这两套工具并不能都受到谷歌青睐。PanoTag将会在本月底正式下线,而另一个项目——Marizano

  • WordPress整站轻松开启HTTPS

    近两年来HTTPS取代HTTP已经成为大势所趋。早在2014年googleChromium安全团队提议将所有的HTTP协议网站标注为不安全。现在,Chrome浏览器已经开始执行这一标准了。从Chrome56开始,任何网页,如果有输入密码或者信用卡资料的,却没有使用HTTPS,将被Chrome浏览器标识为不安全;逐步的,任何没有使用HTTPS协议的网页chrome浏览器都会被标识为”不安全”,或者“NotSecure”。从chrome56版本开始,查看网站的SSL证书的方式做了调整,原来的版本可以点击绿色的小锁进入查看页面,新版本的进入方式:按F12,打开开发者工具窗口,进入Security选项卡,然后点击Viewcertificate,如下图所示:HTTP是目前互联网上使用最广泛的传输协议,但是它没有安全加密功能,很容易遭遇劫持,导致用户流量、隐私被窃。HTTPS则会全程加密传输,并有第三方安全机构认证的数字证书。特别在中国,某些ISP服务商会通过宽带上网服务,进行流量劫持,插入广告代码,使用HTTPS后,这些损招就无计可施了。搜索引擎逐步支持HTTPS网站的收录,HTTPS作为排名的

  • Diffusion Modes由文本生成图像(AI绘画)

    DiffusionModes(扩散模型)是当前最火热的由文本生成图像的模型。Stability.ai公司提供了在线文本生成图像的网站DreamStudio下面是我输入文本后由扩散模型生产的图片:catbeatifulgirl,snowbeatifulwoman,snow,cat这张有点眼睛有点不正常 fox,snowtighers,fighting Birdsflyinginthesky Runawyhorses9sunsinthesky,archer这两张有点抽象Acat,gun,fireChinesedragon龙爪飞走了......章鱼外星人感觉它不能理解中文octopusextraterrestrialbeing,fireSpacecraft,SpacewarNewworld,moon,woman,Godsunlight,rabbit,grasslandsnailonturtleantrobotpuppy,wind,cat狗头猫身,双尾巴。这幅有点翻车puppy,fightwithcat除了在网页上在线让AI绘画外,还可以将API下载到本地,设置好环境变量和APIkey后,在命

  • 整数的四则运算

    说明:该程序是一个能随机在1-10数字之间整数进行的四则运算,程序可以根据用户输入的答案判断对错,并且可以统计出答题的总数和答对题的数量。 设计思路:用控制台应用程序设计,主要运用定义变量,并用while(){}循环,switch(表达式){case常量表达式1:语句1;break;case常量表达式2:语句2;break;.....default;语句m;break;}循环语句,if(){}循环语句来实现程序的运用。 代码如下: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespacesizeyunsuan { classProgram { staticvoidMain(string[]args) { intx=0; inty=1;//第一道题 intz=0;//答对的题 Randomr=newRandom(); while(x<1) { inta=r.Next(0,11); intb=r.Next(0,11); intc=r.Next(0,a);

  • SpringMVC学习系列(4) 之 数据绑定-1

    在系列(3)中我们介绍了请求是如何映射到一个action上的,下一步当然是如何获取到请求中的数据,这就引出了本篇所要讲的内容—数据绑定。 首先看一下都有哪些绑定数据的注解: 1.@RequestParam,绑定单个请求数据,可以是URL中的数据,表单提交的数据或上传的文件;2.@PathVariable,绑定URL模板变量值;3.@CookieValue,绑定Cookie数据;4.@RequestHeader,绑定请求头数据;5.@ModelAttribute,绑定数据到Model;6.@SessionAttributes,绑定数据到Session;7.@RequestBody,用来处理Content-Type不是application/x-www-form-urlencoded编码的内容,例如application/json,application/xml等;8.@RequestPart,绑定“multipart/data”数据,并可以根据数据类型进项对象转换; 下面我们来看如何使用: 1.@RequestParam: 为了验证文件绑定我们需要先做以下工作: a.把commons-f

  • 对其他团队的评价

    第一组:他们做的是一款名叫微食堂的软件,是一个网页版的软件。他们对于综餐的窗口与食品做了很详细的调查,每个窗口的食品都有分类。我觉得他们图片不是很好,可以直接把食堂窗口的照片放上去,点开之后在显示具体卖的饭的图片,这样可能会比较好。 第二组:他们做的是一个记账的软件已经可以记载支出,时间以及支出原因,可以统计一段时间的总收入与支出,缺点就是没有连接数据库,所以账单的增删改查有些问题。 第三组:他们这一组做的是一个错题本程序,有登陆和注册,但是用的框架是记事本的框架,而且后续的功能并没有实现。 第四组:他们做的是二手书app,在他们讲的时候,字体颜色和背景颜色严重冲突,完全看不见字了,建议换个背景颜色或者字体颜色。 第五组:他们做的是一个日程提醒软件,如果能加上定期总结行程这个功能也是挺不错的。 第六组:我们组 第七组:他们是做一个一起的软件,可以发起活动来寻找志同道合的朋友。可以关注,可以在用户登录的时候将用户关注的,有了新动态的置顶,这回更加方便用户的使用。 第八组:他们做的是一个失物招领的网页,主页面的图来来回回只有那几张,丢失物品的信息登记已经做得差不多了,但是查找失物的时候还不

  • [dfs] Luogu P4665 Network

    题目描述 拜特朗政府已经决定,现在是时候将他们的小国家与互联网连接起来,以便所有公民都能参加节目比赛,观看可爱猫的视频。当是时候建设这个国家的网络骨干时,他们给互联网乐观主义者公司分配了连接所有N个拜特兰德的电脑。这些连接是作为计算机对之间的直接连接,使任何一对计算机都通过一系列的链接连接起来。 拜特朗是一个发展中国家,因此,为了将成本降到最低,网络拓扑是以树的形式构建的(即有N−1个计算机之间的直接连接)。为时已晚,人们意识到这一解决方案存在严重缺陷。如果只有一个链接断了,那么拜特兰德的计算机就会被分割,这样一些计算机就不能互相通信了!为了提高拜特朗网络的可靠性,人们决定至少要容忍单个链路中断。你的任务是帮助互联网乐观主义者公司以最便宜的方式改进网络。给出了拜特朗的网络拓扑(即N−1个计算机对是通过直接链接连接的),找到需要添加的最少数量的链接,以便如果任何单个链接中断,网络仍将被连接。   题解 找到所有叶子节点,也就是度为1的点,把它们连起来就行了,因为要保证相邻的连上,跑一遍dfs 代码 1#include<iostream> 2#include

  • vue项目查看vue版本及cli版本及版本升级

    vue2.9.6升级到最新版本   在看文档https://cli.vuejs.org/zh/guide/installation.html中,按步骤升级vue; 于是就先通过 npmuninstallvue-cli-g卸载vue,然后再安装,但是vue-V时依然是2.9.6版本: 第一步:npmconfiggetregistry  第二步:npmconfigsetregistryhttps://registry.npm.taobao.org 第三步:npmi-g@vue/cli 如果还不行就根据提示执行强制覆盖   //如果需要清空缓存   npmcleancache--force  sudonpminstall@vue/cli-g--force或者复制   sudonpmi-g@vue/cli--force 完美,安装成功!   查看cli版本,执行如下: vue-V 查看vue版本 npmlistvue   查看Vue版本: 1.npmlistvue 2.进入项目中package.json文件直接查看  

  • 排序算法:插入排序

    思想:   -维持原地排序   -整个列表分为2部分,做部分为排序好的;右边为尚未排序的,   -每次抽取右边的第一张牌,与左边的牌进行对比。   代码: #!/usr/bin/envpython #-*-coding:utf-8-*- ''' -保持原地排序 -摸牌的次数 -如何移动牌 ''' definsert_sort(li): foriinrange(1,len(li)):#摸牌的次数 forjinrange(i,0,-1):#在排好序的左边,将抽到的牌,从右向左比较 ifli[j]<li[j-1]: li[j],li[j-1]=li[j-1],li[j] #print('第{}次排序:{}'.format(i,li)) importrandom li=list(range(1000)) random.shuffle(li) print(f'原始列表为:{li}') insert_sort(li) print(li)复制  

  • 第K短路径 POJ 2449

    第K短路径POJ2449 一个朴实的算法是搜索出所有的路径,去第k短。 然后我们尝试能否让第一次到底的最短路径,第二次到达的第二短。其实是给A*。 我们维护已经走了多远和距离终点还有多远的距离和小的优先走,就能达到上述要求。 距离终点还有多远反向建图,求一次最短路即可。 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<queue> usingnamespacestd; constintMAXN=1050; constintMAXM=1e5+10; intn,m,first[MAXN],sign; intdist[MAXN],S,T,K; structEdge{ intto,w,next; }edge[MAXM*4]; voidinit(){ memset(first,-1,sizeof(first)); sign=0; } voidadd_edge(intu,intv,intw){ edge[sig

  • YUI前端优化原则-cookie与图像

    四、图片、Coockie与移动应用篇除此之外,图片和Coockie也是我们网站中几乎不可缺少组成部分,此外随着移动设备的流行,对于移动应用的优化也十分重要。这主要包括:Coockie: 减小Cookie体积 对于页面内容使用无coockie域名 图片: 优化图像 优化CSSSpirite 不要在HTML中缩放图像 favicon.ico要小而且可缓存 移动应用: 保持单个内容小于25K 打包组件成复合文本 27、减小Cookie体积     HTTPcoockie可以用于权限验证和个性化身份等多种用途。coockie内的有关信息是通过HTTP文件头来在web服务器和浏览器之间进行交流的。因此保持coockie尽可能的小以减少用户的响应时间十分重要。有关更多信息可以查看TenniTheurer和PattyChi的文章“WhentheCookieCrumbles”。这们研究中主要包括: 去除不必要的coockie 使coockie体积尽量小以减少对用户响应的影响 注意在适应级别的域名上设置coockie以便使子域名不受影

  • Node.js 历史

    Node.js是在2009年5月份创建的,是属于典型的Git和 GitHub 时代最初孕育的项目。另外需要先说明一点,那就是回顾Node.js的历史,并不是仅仅为了给大家回味,而是想找到在Node.js发展到今天作为一个大型的开源社区对于处理内部冲突发展到如此地步的源头。 几年前,Node.js还只有很少的几名提交者的(贡献者以写模式访问仓库是为了合并代码和修复bug)。随着项目的扩大,在管理结构上以及最初的这些成员的个性各异,渐渐的开始出现问题了。具体的表现就是少数的几个提交者来维护庞大的代码提交越来越力不从心,而且开始有一些开发者不再贡献了,这其中包括核心提交者和外围的贡献者。这也直接导致的后果就是发布渐渐跟不上步伐了。 JamesSnell,是项目的早期贡献者,现在就职于IBM,是该公司Node.js的技术领导,同时也是Node.js社区的核心技术指导委员会的成员之一,说道: 开发者在想作出改变时,并不会受到鼓励。这就会让开发者们失去动力,从而远离社区。创新也随着就会下降,开发者觉得不值得在此项目上投入时间和精力。   通过“开放”开源

相关推荐

推荐阅读