python进阶10 MySQL补充 编码、别名、视图、数据库修改

python进阶10 MySQL补充    编码、别名、视图、数据库修改

一、编码问题

#MySQL级别编码
#修改位置:   /etc/mysql/mysql.conf.d/mysqld.cnf
default-character-set = utf8character-set-server =utf8
collation-server= utf8_general_ci#最佳实践
#1、无论mysql是否设置了对的编码都无所谓
#2、创建数据库的时候指定CHARSET utf8
#3、如果数据库的某张表需要别的编码,在创建表的时候指定#python常用编码分为 utf8 gdk ASCII,其中utf8兼容ASCLL,gbk为纯中文#创建库时指定库编码:
CREATE DATABASE mydb CHARACTER SET gbk;#创建数据库mydb的时候指定编码为gbk#创建数据表时指定的编码:
CREATE TABLE mytb( id INT ) CHARSET utf8;#创建数据表mytb是指定编码为utf8

二、别名

#作用有两个,一个用于展示,另一个用于子查询#展示
#举个栗子:原来的表头是name,number,age,为了可以展示给中国人看名字,学号,年龄,可以如下操作
SELECT name AS 名字,number AS 学号,age AS 年龄 FROM students;#子查询
#举个栗子:如果一张表由19班和18班的人混合在一起,将19班和18班分开后出现了两张表,这个时候如果要查询这两张表,就需要用到别名

SELECT * FROM (SELECT * FROM students WHERE klass=19);#这种情况会报错,ERROR 1248 (42000): Every derived table must have its own alias(每张表必须要有他自己的别名)#正确展示
SELECT * FROM (SELECT * FROM students WHERE klass=19) AS  tb; #给后面的部分一个别名 tb ,这样就可以实现自查询了

三、视图

#作用:
#如果说一个查询后的表使用频率比较高,可以用视图来封装这个查询,以便多次利用节省代码
#视图不是真的表,里面没有数据,只是封装了个查询而已
#查询视图的时候看上去像是查询一个表,其实只是间接地调用了那个被封装的查询#创建一个视图
CREATE VIEW students_19 AS SELECT * FROM students WHERE klass=19; #封装了“19班”查询的视图#修改一个视图
ALTER VIWE students AS SELECT * FROM students WHERE klass=18; #将students_19 这个视图的内容改为18班的内容

四、表结构修改

  修改列

#背景
#通常情况下,应该一开始就尽量的设计好,因为数据库一旦设计完成,最好不要大改。但是,谁都不能保证,我的表永远够用,随时有可能需要改动。因此,我们还是要了解一下,修改表结构。
#注意:表结构修改,一般也不是开发区做。#补充命令
DESC tb_name ;#表描述
SHOW KEYS FROM tb_name;#表中键
ALTER TABLE ...#主命令:修改表
#添加列
ADD COLUMN ...ALTER TABLE students ADD COLUMN gender BOOL;#将gender列添加到最后一列
#序位:FIRST (第一)   AFTER (在...后)

ALTER TABLE students ADD COLUMN gender BOOL NOT NULL DEFAULT TRUE FIRST ;#将gender列添加到第一列,加上非空并添加默认值TRUE

ALTER TABLE students ADD COLUMN gender BOOL NOT NULL DEFAULT TRUE AFTER klass; #将gender列添加到klass后面,加上非空并添加默认值TRUE
#删除列
DROP COLUMN ALTER TABLE students DROP COLUMN gender;#删除gender列
#修改列
#仅修改列:
MODIFY COLUMN ...ALTER TABLE students MODIFY COLUMN gender BOOL NOT NULL DEFAULT TRUE AFTER age;#将gender列移动到age后面,并添加非空和默认值#带重命名
ALTER TABLE students CHANGE COLUMN birth birthday DATETIME ;#将birth列改为birthday的一个DATETIME 类型列

  修改键

#添加约束建
ADD PRIMARY KEY 
ALTER TABLE students ADD PRIMARY KEY(number);#为number列添加之间约束(唯一键也是类似)

ALTER TABLE students ADD UNIQUE KEY (aaaaaa);#为aaaaaa列添加唯一键约束

ALTER TABLE students ADD UNIQUE KEY (number);#在number为主键的前提下,这个操作会移除主键约束,但是会保留非空
#删除约束键
#删除主键
DROP PRIMARY KEY ALTER TABLE students DROP PRIMARY KEY ;#删除主键

ALTER TABLE students DROP KEY number;#删除唯一键number

#显示创建信息的时候,会出现UNIQUE KEY 'numebr' ('numebr') UNIQUE KEY表列名,中间number是键名,后面的number是哪些列,无论是创建还是删除的时候,都是操作键名,而不是键
#注意:这里的number值的是键的名字而不是列名
#无功能键(索引)
#背景:如果说查找表的时候是按照某一列来查找的,那么这一列就可以添加索引#添加索引
ADD KEY
ALTER TABLE students ADD KEY (name);#删除索引
DROP KEY  
ALTER TABLE students DROP KEY (name);#注意,这里的索引指的是键的名字,而不是列名

 

转载于:https://www.cnblogs.com/xuchengcheng1215/p/8546368.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你如何剖析源码

一、源码阅读需求 在学习中,我们会需要了解,学习,使用一个框架,一个新的函数库。在工作中,因为业务需求,因为性能问题,可能通过一个更高性能的工具,架构去优化我们的程序。 那么&…

SPEL + 中的错误处理

SPEL 中的错误处理 如果在SPEL程序中发生错误,可以将执行转到错误处理例程中进行错误处理。该例程必须在函数定义内。下一页的表格显示了用于错误处理的程序指令。 项目 目的 OnErr 使用OnErr语句定义错误处理…

HALCON示例程序classify_halogen_bulbs.hdev使用SVM分类器检测卤素灯泡的好坏

HALCON示例程序classify_halogen_bulbs.hdev使用SVM分类器检测卤素灯泡的好坏 示例程序源码(加注释) 得到halcon默认图片存储路径 get_system (‘image_dir’, HalconImages) 获得操作系统类型 get_system (‘operating_system’, OS) OS{0:2}的意思是…

php调用API支付接口(转自刘68)

首先访问 https://charging.teegon.com/ 注册账号, 找到开发配置 记下client_id和client_secret。 点击 天工开放平台 点击天工收银 点击 SDK下载与使用 选择php版下载 解压后获得 打开form.php这个是样板文件可以用它来测试是否成功,测试前需要先修…

S3C2440 SPI驱动框架

S3C2440 SPI驱动代码详细解读: https://www.linuxidc.com/Linux/2012-08/68402p4.htm 一、platform device and board_info /* /arch/arm/plat-s3c24xx*/static struct resource s3c_spi0_resource[] { [0] {.start S3C24XX_PA_SPI,.end S3C24XX_PA_SPI 0…

单目相机标定原理

一.相机标定主要涉及三个坐标系:图像坐标系、摄像机坐标系和世界坐标系 【图像坐标系】 摄像机采集的图像变换为数字图像后,每副数字图像在计算机内为M x N数组,M行N列的图像中每一个元素(pixel)数值就是图…

HALCON示例程序classify_image_class_gmm.hdev使用GMM分类器分割彩色图片

HALCON示例程序classify_image_class_gmm.hdev使用GMM分类器分割彩色图片 示例程序源码(加注释) dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_display_font (WindowHandle, 14, ‘mono’, …

Android开始之 activity_lifecycle和现场保护

生命周期: oncreate—onstart—onresume,--onpause--onstop,——onrestart——onstart——onresume,。。onpause。。。onstop。。。ondestroy 现在保护---保存系统状态 通过这个方法保存到数据库中或者xml中,&#xff…

Apache启动错误:could not bind to address[::]:443

Q:Windows环境下启动apache报错如下: 可是在httpd.conf文件中apache listen的明明是http 80端口,为什么会报443的错误? A:因为你的计算机安装了VM,所有有个vm的进程一直占用着443端口,在命令行下…

针孔相机拍摄的图像坐标和空间点的对应关系

一:摄像机成像原理 摄像机成像模型一般有三种:透镜投影模型(小孔摄像机模型)、正交投影模型和透视投影模型 光学中最基本的高斯成像公式:1/u 1/v 1/f (式一) 原理图如下: 二:认识三个…

window.onload中动态获得img的高度

$(function(){}); window.οnlοadfunction(){} $(function(){}) 是在DOM结构渲染完成以后调用的,这时候网页中一些资源还没有加载,比如图片等资源,但是DOM结构已经渲染成功了 window.onload是在网页DOM结构渲染完成,而且资源已经…

HALCON关于显示的函数与介绍(持续更新)

点击下方直达算子蓝色字体 目录1、dev_update_off ();dev_update_on2、dev_close_window ()3、dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)4、set_display_font( : : WindowHandle, Size, Font, Bold, Slant : )5、dev_set_draw(…

python -- 三元运算符

格式 : a if 条件 else b 示例 : 在 return 中使用 def com(a,b): # 返回最大值return a if a > b else b赋值时使用: l 1 if 2 > 1 else 2转载于:https://www.cnblogs.com/yanjingnan/p/6494786.html

矩阵乘法

矩阵乘法的通俗的我自己用的理解方式 CAB. 则Cij∑aikbkj (k属于那个范围),所以首先矩阵相乘的必须是A矩阵的列数等于b矩阵的行数。 第二就是C的意义了,cij表示A的第i行与B的第j列每个数对应相乘,因为上面的条件,所以A的第i行的数…

HALCON示例程序classify_image_class_knn.hdev使用KNN分类器对多通道图像进行分割

HALCON示例程序classify_image_class_knn.hdev使用KNN分类器对多通道图像进行分割 示例程序源码(加注释) 显示相关设置 dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_display_font (WindowH…

DELL XPS 9350 无线网卡DW1820A WIN7驱动异常解决

电脑型号:戴尔XPS 13 9350 故障现象: 安装完其他驱动都正常,打上官网的无线蓝牙一体驱动,只能驱动蓝牙,无线网卡无法驱动 故障解决: 开机F2,到Wireless选项现将蓝牙功能关闭,保存重启到windows下,将官网的无线驱动解压到文件夹,在设备管理器中选中未知的网络设备点更新驱动,手动…

粥做得好不好,全凭一个良心!

粥做得好不好,全凭一个良心! 工作不也是凭良心么! 文章中的红色字体表达了一切! 霜降节气的到来,意味着冬季的临近,而霜降后气温的降低,利于蔬菜的淀粉沉淀,收浆后的莲藕也变得更为…

内存分配详解 malloc, new, HeapAlloc, VirtualAlloc,GlobalAlloc

很多地方都会使用内存,内存使用过程中操作不当就容易崩溃,无法运行程序,上网Google学习一下,了解整理下他们之间的区别以及使用 ,获益匪浅 0x01 各自的定义和理解 (1)先看GlobalAlloc() GlobalAlloc()主要用于Win32应用…

黑盒测试

引言: 什么是黑盒测试呢!? 像我一样的测试小白就会望文生义了:对黑盒子测试 那么黑盒子是什么!? 思考5秒后,得出了这样的答案:黑盒子就是黑色的盒子,嘿嘿! 正文&#xf…

HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分类器分割RGB图像

HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分类器分割RGB图像 示例程序源码(加注释) 关于显示相关显示在其他帖子有介绍。 dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_disp…