mysql字符串连接

如何选择合适的MySQL数据类型

浪尽此生 提交于 2019-11-28 07:14:51
MySQL数据类型选择 一 .选择原则 更小的通常更好 :一般情况下选择可以正确存储数据的最小数据类型。越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小。 简单就好 :简单的数据类型的操作通常需要更少的CPU周期。例如:整型比字符操作代价要小得多,因为字符集和校对规则(排序规则)使字符比整型比较更加复杂。 尽量避免NULL :尽量制定列为NOT NULL,除非真的需要NULL类型的值。因为可能为NULL列使得索引,索引统计和值比较都更复杂。可为NULL的列会使用更多的存储空间,在MySQL里也需要特殊处理。 二.选择具体数据类型 在选择列的数据类型时需要先选定合适的大类型,如:数字,字符串,时间等。 整数类型 有两种类型的数字:整数和实数。如果需要存储整数,可以选择一下集中数据类型: 数据类型 长度/字节 范围 说明 TINYINT 1 -2^7—2^7-1 整数类型可选UNSIGND属性 SMALLINT 2 -2^15—2^15-1 表示不允许为负值 MEDIUMINT 3 -2^23—2^23-1 这大致可以使整数上限提高一倍 INT 4 -2^31—2^31-1 例如UNSIGNED可以使TINYINT BIGINT 8 -2^63—2^63-1 存储的范围是0—255 *实数类型 实数是带有小数部分的数字。然而它们不只是存储小数部分

【数据库】MySQL 函数大全包含示例(涵盖了常用如时间、数字、字符串处理、数据流函数的和一些冷门的)

末鹿安然 提交于 2019-11-28 00:33:30
ps:博客园markdown不能自动生成列表,更好的阅读体验可访问我的个人博客http://www.isspark.com/archives/mysqlFunctionDesc 数学函数(Mathematical Functions) 函数名 描述 示例 ABS(X) 绝对值 SELECT ABS(-2); -> 0 ACOS(X) 反余弦值 SELECT ACOS(1); -> 0 ASIN(X) 反正弦值 SELECT ASIN(0.2); -> 0.20135792079033 ATAN(X) 反正切值 SELECT ATAN(2); -> 1.1071487177941 ATAN(Y,X), ATAN2(Y,X) 反正切值(两个参数), 类似于求Y/X的反正切值 SELECT ATAN(-2,2); -> -0.78539816339745; CEIL(X),CEILING(X) 求不小于X的最小整数 SELECT CEILING(1.23); -> 2 CONV(N,from_base, to_base) 将数据N从from_base进制转化 成to_base进制 SELECT CONV(2,10,2); ->10 COS(X) 余弦值 SELECT COS(PI()); -> -1 COT(X) 余切值 SELECT COT(12); -> -1

Django Model

让人想犯罪 __ 提交于 2019-11-27 22:27:02
1. ORM 简介 MTV 设计模式中,模型(M)就是对数据库的操作,在 Web 开发中,使用最频繁的也是对数据库的操作,那么该怎么样去实现呢? 我们不可能自己手动去写大量的 SQL 语句,因为我们也不是专业 DBA 人员,那么我们就只能奢求有一种能够使用 Python 程序对数据库操作的方法了。 这就是 ORM(Object Relation Mapping)对象关系映射,以面向对象的方式去操作数据库。 其实现模式大致是这样的: Django 本身给我们提供了强大的 ORM 系统,不需要再额外的 安装,当然还有一些其他的 ORM ,如:SQLAlch 等。 2. 字段 Model 中的字段 fileds 即数据表中的列,用来存储数据(记录),字段类型对应列的数据类型。 2.1 常用字段类型 Django 内置了很多字段类型,都位于 django.db.models 中,以下为常用字段类型: AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models

【Django】ORM操作#1

江枫思渺然 提交于 2019-11-27 20:49:35
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的基石

【Django】ORM操作#1 -- 2019-08-17 06:19:12

别说谁变了你拦得住时间么 提交于 2019-11-27 14:38:36
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

【Django】ORM操作#1 -- 2019-08-17 06:11:59

时光毁灭记忆、已成空白 提交于 2019-11-27 14:37:59
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

django创建表单以及表单数据类型和属性

[亡魂溺海] 提交于 2019-11-27 10:47:11
08.15自我总结 关于django的表单不同关系之间的创建 一.不同关系之间的创建 1.一对一 举例 母表:userinfo id name age 1 张三 12 2 李四 58 字表:private id salary sp_id 1 100 1 2 400 2 models.py class UserInfo(models.Model): name = models.CharField(max_length=32, null=True) age = models.IntegerField(null=True) class Private(models.Model): salary = models.CharField(max_length=32, null=True) sp = models.OneToOneField("UserInfo", null=True) #oneTooneField: 一对一, 默认要求该字段必须是唯一的 unique 外键关系 插入信息 models.UserInfo.objects.create(name='张三',age=12) models.Private.objects.create(salary=100,sp_id=1) 查询 #从母表查询子表中的数据 #方法1:res = models.UserInfo.objects.filter

php面试题

一世执手 提交于 2019-11-27 09:42:10
文章转载自: http://www.pythonheidong.com/blog/article/2220/ php面试题 php 面试 最近一直在面试,所以总结了下常见的 PHP 面试题. PHP基础题目 安全对一套程序来说至关重要,请说说在开发中应该注意哪些安全机制? ①防远程提交; ②防SQL注入,对特殊代码进行过滤; ③防止注册机灌水,使用验证码; 在程序的开发中,如何提高程序的运行效率? ①优化SQL语句,查询语句中尽量不使用select *,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询 ②数据表中创建索引 ③对程序中经常用到的数据生成缓存 现在编程中经常采取MVC三层结构,请问MVC分别指哪三层,有什么优点? MVC三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示,优点是: ①可以实现代码的重用性,避免产生代码冗余 ②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式 对json数据格式的理解? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,json数据格式固定,可以被多种语言用作数据的传递 PHP中处理json格式的函数为json_decode( string $json [, bool $assoc ] ) ,接受一个

MySQL中concat函数 concat_ws函数 group_concat函数 repeat

☆樱花仙子☆ 提交于 2019-11-27 05:36:04
MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。 一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col) MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ | concat('10') | +--------------+ | 10 | +--------------+ 1 row in set (0.00 sec) mysql> select concat('11','22','33'); +------------------------+ | concat('11','22','33') | +------------------------+ | 112233 | +------------------------+ 1 row in set (0.00 sec)

MYSQL基础语法

十年热恋 提交于 2019-11-27 03:42:00
MYSQL单表查询 简单数据查询 (SELECT 选择查询列表)(FROM提供数据源) 和创建表时的顺序一致。匹配所有的字段 SELECT *(表示所有列)FROM table_name (表名) :表示查询表中所有信息 可以自己调整顺序,在select后边加上要查询的列名。 SELECT A,B,C FROM table_name (表名):表示查询A,B ,C列中所有信息 消除结果中重复的数据 SELECT DISTINCT 列名 FROM 表名 实现数学运算查询 对NUMBER型数据可以使用算数操作符创建表达式(+ - * /) 对DATE型数据可以使用部分算数操作符创建表达式 (+ -) 设置列名的别名 语法:SELECT 列名 as 新列名 (as可以省略)FROM table_name 设置显示格式 使用CONCAT函数来连接字符串 语法 SELECT CONCAT(列名,“ 字符串”,列名)FROM table_name 过滤查询(字符串和日期要用单引号扩起来) SELECT 列名 FROM table_name WHERE 条件1 AND/OR 条件2; 逻辑运算 优先级规则(() 小括号跨越所有运算符优先级) 范围查询-BETWEEN AND 语法:SELECT 列名 FROM table_name WHERE 列名 BETWEEN AND(闭区间) 集合查询