数据表

mysql 中文字段排序 - 按拼音首字母排序

我怕爱的太早我们不能终老 提交于 2019-11-29 18:01:35
在处理使用Mysql时,数据表采用utf8字符集,直接oder by 对含有中文字符的数据排序,中文不是按照拼音排序的,可以用以下方法处理: 如果数据表 tbl 的某字段 name 的字符编码是 utf8_general_ci SELECT name FROM tbl WHERE 1 ORDER BY **CONVERT( name USING gbk ) COLLATE gbk_chinese_ci ASC** 如果数据表tbl的某字段name的字符编码是 latin1_swedish_ci select * from `tbl` order by **birary(name) asc ; ** 参考: http://blog.csdn.net/zhichao2001/article/details/11721325 来源: CSDN 作者: 昵称诚诚 链接: https://blog.csdn.net/jobschen/article/details/47151535

MySql 数据表从1开始计数

假如想象 提交于 2019-11-29 17:32:46
方法一 delete from test; alter table `test` auto_increment=1 (好处,可以设置AUTO_INCREMENT 为任意值开始) 提示:如果表列和数据很多,速度会很慢,如90多万条,会在10分钟以上。 方法二 truncate table test (好处,简单,AUTO_INCREMENT 值重新开始计数) 一般情况下我们使用第二个就可以了,记住以上情况都是彻底删除所有记录。 来源: https://www.cnblogs.com/pxzbky/p/11524878.html

# 数据的删除、插入和复制

空扰寡人 提交于 2019-11-29 17:23:32
数据的删除、插入和复制 数据的删除 使用 DELETE 语句删除数据。与 DROP 不同的是DELETE是以行(记录)为单位删除,并不会删除数据表,最多也只能做到清空整张数据表。 语法格式像是这样 DELETE FROM 表名 WHERE 条件 。当然,筛选条件不是必须的,当他存在时,我们称这条删除语句为搜索型DELETE。当我们不指定搜索条件而只指明那张表的时候,DELETE会做的时清空整张表的数据。 不少数据库管理系统还存在一种被称为 TRUNCATE 的舍弃语句,它可以清空整张数据表,并且比DELETE更快。 数据的插入 使用 INSERT INTO ... VALUES ... 语句插入数据,他的语法格式像是这样子的 INSERT INTO 表名 列名 VALUES 数据 。对于列名和数据的提供,INSERT语句使用一种叫 清单 的格式。 INSERT INTO ProductIns ``(product_id, product_name, product_type, purchase_price, regist_date) VALUES ('007', '擦菜板', '厨房用具', 790, '20009-04-28'); 可以注意到数据和列名是存在一一对应的关系的。但是有时候会没有提供完整的数据清单。这时候对于确实的项目会使用 NULL 作为默认值。 同时

MySQL数据库及注入方法

a 夏天 提交于 2019-11-29 17:09:30
MySQL数据库 MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。 mysql中的注释符 :# 、 /**/ 、 -- MySQL数据库的特有的表是: information_schema.tables information_schema.tables 存储了数据表的元数据信息,下面对常用的字段进行介绍: table_schema: 记录数据库名 table_name: 记录数据表名 table_rows: 关于表的粗略行估计 data_length : 记录表的大小(单位字节) 在MySQL5.0之后,MySQL中默认添加了一个名为 information_schema 的数据库,该数据库中的表都是只读的,不能进行更新、删除和插入等操作,也不能加载触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件。 当尝试删除该 information_schema 数据库时,会爆出以下的错误! information_schema 数据库中三个很重要的表: information_schema.schemata: 该数据表存储了mysql数据库中的所有数据库的库名 information_schema.tables: 该数据表存储了mysql数据库中的所有数据表的表名 information

定时导出Oracle数据表到文本文件的方法

早过忘川 提交于 2019-11-29 15:02:33
该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式。其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现。该示例需要能够运行的sqlplus环境,因此需要安装Oracle客户端等可运行环境。 实现了将数据库中日志表数据导出到指定文件夹下的.log文件,且该文件的命名方式采用按天来导出的格式(如:C:\HttpLog\20130115.log),当然具体路径根据你的需求可进行自定义设置。如果你不想建立windows定时任务来导出该日志,你也可以定期双击运行logout.bat文件即可实现。 spool是sqlplus的命令,必须在sqlplus中使用,主要完成以标准输出方式输出sqlplus的命令及执行结果,一般常用户格式化导出oracle表数据。 对于spool数据的sql语句,最好是自定义格式,以方便程序直接导入 ,示例SQL语句如: select col1||','||col2||','||col3||','||col4||','||to_number(to_char(col5,'YYYYMMDD')) from table_name; spool命令常用设置: set colsep','; //-域输出分隔符 set newp none //设置查询出来的数据分多少页显示

centos sqlite3安装及简单命令

倾然丶 夕夏残阳落幕 提交于 2019-11-29 12:22:24
安装: 方法一: wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz tar xvzf sqlite-autoconf-3070500.tar.gz cd sqlite-autoconf-3070500 ./configure make sudo make install 方法二: sudo yum install sqlite-devel 方法三: sudo gem install sqlite3-ruby 命令: 查看版本信息: #sqlite3 -version sqlite3终端进入命令: # sqlite3 查看数据库文件信息命令(注意命令前带字符'.'): sqlite>.database 查看所有表的创建语句: sqlite>.schema 查看指定表的创建语句: sqlite>.schema table_name 以sql语句的形式列出表内容: sqlite>.dump table_name 设置显示信息的分隔符: sqlite>.separator symble Example:设置显示信息以‘:'分隔 sqlite>.separator : 设置显示模式: sqlite>.mode mode_name Example:默认为list,设置为column,其他模式可通过.help查看mode相关内容

MySQL AUTO_INCREMENT 简介

拈花ヽ惹草 提交于 2019-11-29 12:09:52
可使用复合索引在同一个数据表里创建多个相互独立的自增序列,具体做法是这样的:为数据表创建一个由多个数据列组成的PRIMARY KEY OR UNIQUE索引,并把AUTO_INCREMENT数据列包括在这个索引里作为它的最后一个数据列。这样,这个复合索引里,前面的那些数据列每构成一种独一无二的组合,最末尾的AUTO_INCREMENT数据列就会生成一个与该组合相对应的序列编号。 我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。 1 用法: CREATE TABLE test ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(15) NOT NULL )AUTO_INCREMENT = 100; 可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。 可用alter table table_name AUTO_INCREMENT=n命令来重设自增的起始值。 说明: (1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。 (2)

SQL 快速新增权限数据表(使用cross join)

笑着哭i 提交于 2019-11-29 10:13:55
摘要:SQL 快速新增权限数据表(使用cross join) 1.因为设计系统的时候 将角色 权限 系统都做了分开处理 偏偏交集起来相当多数据 2.决定不自己打 使用cross join 先练习一下一般的语法 --use 数据库 --select a.浏览,a.修改,a.删除,b.系统名称,c.角色名称 --from 角色权限 as a --cross join 系统 as b --cross join 角色 as c --go 像这样 3.开始改写 使用cross join --先清空表单 已经打上去的数据 use 数据库 delete 角色权限 --开始新增 use 数据库 DECLARE @defult bit SET @defult= 0 insert 角色权限 select b.系统ID ,c.角色ID, @defult,@defult,@defult,@defult,@defult,@defult,@defult,@defult from 系统 as b cross join 角色 as c go 很好....252行数据完成!!太愉快了~~ 4.再补一个...一次指定某一个角色的权限 DECLARE @defult bit SET @defult= 1 update 角色权限 set 浏览=@defult, 新增=@defult, 修改=@defult, 删除=

MySQL对数据表进行分组查询(GROUP BY)

拟墨画扇 提交于 2019-11-29 09:13:29
MySQL对数据表进行分组查询(GROUP BY) GROUP BY关键字可以将查询结果按照某个字段或多个字段进行分组。字段中值相等的为一组。基本的语法格式如下: GROUP BY 属性名 [HAVING 条件表达式] [WITH ROLLUP] 属性名:是指按照该字段的值进行分组。 HAVING 条件表达式:用来限制分组后的显示,符合条件表达式的结果将被显示。 WITH ROLLUP:将会在所有记录的最后加上一条记录。加上的这一条记录是上面所有记录的总和。 GROUP BY关键字可以和GROUP_CONCAT()函数一起使用。GROUP_CONCAT()函数会把每个分组中指定的字段值都显示出来。 同时,GROUP BY关键字通常与集合函数一起使用。集合函数包括COUNT()函数、SUM()函数、AVG()函数、MAX()函数和MIN()函数等。 COUNT()函数:用于统计记录的条数。 SUM()函数:用于计算字段的值的总和。 AVG()函数:用于计算字段的值的平均值。 MAX()函数:用于查询字段的最大值。 MIN()函数:用于查询字段的最小值。 如果GROUP BY不与上述函数一起使用,那么查询结果就是字段取值的分组情况。字段中取值相同的记录为一组,但是只显示该组的第一条记录。 单独使用GROUP BY关键字进行分组 如果单独使用GROUP BY关键字

MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)

别说谁变了你拦得住时间么 提交于 2019-11-29 09:04:06
1.首先我们需要了解下什么是聚合函数    聚合函数aggregation function又称为组函数。 认情况下 聚合函数会对当前所在表当做一个组进行统计。 2. 聚合函数的特点   1.每个组函数接收一个参数(字段名或者表达式) 统计结果中默认忽略字段为NULL的记录   2.要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。   3. 不允许出现嵌套 比如 sum(max(xx)) 3.聚合函数 count(),求数据表的行数 1 select count (*/字段名) from 数据表 4.聚合函数 max(),求某列的最大数值 1 select max (字段名) from 数据表    5.聚合函数min(),求某列的最小值 1 select main(字段名) from 数据表    6.聚合函数sum(),对数据表的某列进行求和操作 1 select sum (字段名) from 数据表    7.聚合函数avg(),对数据表的某列进行求平均值操作 1 select avg (字段名) from 数据表    8.聚合函数和分组一起使用 1 select count (*),group_concat(age) from students group by age;       总结: