数据表

数据表的基本操作

ぐ巨炮叔叔 提交于 2020-02-26 10:18:50
数据表 create table 表名( id int(5) unsingned zerofill primary key auto_increment, :(5)包含5个字节流id数据的大小 name char(10) unique, :(10)个字符 age int not null default 0, height float(5,2) , desc varchar(20) ); primary key : 主键,一个表中只能有一个,作用让该字段值,唯一且不为空 auto_increment :编号自动增长,只能作用在数字类型字段上 unique : 唯一性约束,字段值不能重复 not null : 表示非空 default : 默认的值 float (5,2) : 数字占5位,小数点保留2位 1.查询数据 1. 查询所有列 select * from 表名; 2. 查询指定列 select 列1,列2,... from 表名; DML 2.插入数据 全表字段插入 insert into 表名 values (…) 部分列插入 insert into 表名 values(值,…); :注意:所有的支付按都给值,如果有默认不给自,也可以使用default占位 全表插入多条数据 insert into 表名 values(…),(…)…; 全表插入指定数据 insert

HTML5项目笔记5:使用HTML5 WebDataBase设计离线数据库

情到浓时终转凉″ 提交于 2020-02-26 04:33:58
基于HTML5的Web DataBase 可以让你在浏览器中进行数据持久地存储管理和有效查询,假设你的离线应用程序有需要规范化的存储功能,那么使用Web DataBase,可以使你的应用程序无论是在离线或者在线或者网络不通畅情况下都可以将数据保存在客户端。 下面是HTML5 DataBase中两个不同的DataBase的比较,摘自 http://www.html5rocks.com/en 上面的一篇文章。 我们这边使用 WebSQL 来设计和编写底层服务, W3C 的 WebDatabase 规范中说这份规范不再维护了, 但是几乎实现者都选择了 S QLite这种轻量简单易用的客户端数据库 : 现在我们来封装和提取 WebSQL 公用方法。 首先,我们需要拿到 SQLite 数据库可操作和执行 的SQL 数据上下文: 这边通过openDatatBase方法打开或创建数据库: View Code 1 /*-------执行SQLite注入,数据库的基本操作(Begin)-------*/ 2 function SQLProvider(dbName, size) { 3 this.dbName = dbName || 'OFLMAIL'; 4 5 var db = openDatabase(this.dbName, '1.0', 'database for ' + this

Linux下常用mysql命令【2】

情到浓时终转凉″ 提交于 2020-02-26 03:34:48
1.开启和关闭 1.1.开启   systemctl start mysqld 1.2.关闭   systemctl stop mysqld 1.3.重启   systemctl restart mysqld 回到顶部 2.登录 2.1.密码明文   语法:mysql -u用户名 -p用户密码   举例:mysql -uroot -p123456 2.2.密码密文   语法:mysql -u用户名 -p+回车,然后输入密码   举例:mysql -uroot -p      回到顶部 3.修改密码 3.1.SET PASSWORD命令(需登录)   语法:mysql> set password for 用户名@localhost = password('新密码');   举例:mysql>set password for root@localhost = password('123456'); 3.2.使用sql语句更新 mysql 库中的 user 表(需登录)   mysql> use mysql;   mysql> update user set password=password('123') where user='root' and host='localhost';   mysql> flush privileges; 3.3.mysqladmin命令,明文(不需登录

数据库面试

二次信任 提交于 2020-02-26 03:30:16
常用指令 (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in ('值1','值2','值3')" sql="select * from 数据表 where 字段名 between 值1 and 值2" (2) 更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" sql="insert into 目标数据表 select

MySQL伪事务和性能

时光总嘲笑我的痴心妄想 提交于 2020-02-26 01:26:26
用表锁定代替事务 在MySQL 的MyISAM类型数据表中,并不支持COMMIT(提交)和ROLLBACK(回滚)命令。当用户对数据库执行插入、删除、更新等操作时,这些变化的数据都被立刻保存在磁盘中。这样,在多用户环境中,会导致诸多问题,为了避免同一时间有多个用户对数据库中指定表进行操作。可以应用表锁定来避免在用户操作数据表过程中受到干扰。当且仅当该用户释放表的操作锁定后,其他用户才可以访问这些修改后的数据表。 应用表锁实现伪事务 实现伪事务的一般步骤如下: 对数据库中的数据表进行锁定操作,可以对多个表做不同的方式锁定 执行数据库操作,向锁定的数据表中执行添加、删除、修改操等操作 释放锁定的数据表,以便让正在队列中等待查看或操作的其他用户可以浏览数据表中的数据或对操作表执行各种数据的操作。 事务和性能 应用不同孤立级的事务可能会对系统造成一系列影响,采用不同孤立级处理事务,可能会对系统稳定性和安全性等诸多因素造成影响。另外,有些数据库操作中,不需要应用事务处理,则用户在选择数据表类型时,需要选择合适的数据表类型。所以,在选择表类型时,应该考虑数据表具有完善的功能,且高效的执行前提下,也不会对系统增加额外的负担。 应用小事务 应用小事务的意义在于:保证每个事务不会在执行前等待很长时间,从而避免各个事务因为互相等待而导致系统的性能大幅度下降。 选择合适的孤立级

【原创】杂谈自增主键用完了怎么办

烈酒焚心 提交于 2020-02-25 15:11:48
引言 在面试中,大家应该经历过如下场景 面试官:"用过mysql吧,你们是用自增主键还是UUID?" 你:"用的是自增主键" 面试官:"为什么是自增主键?" 你:"因为采用自增主键,数据在物理结构上是顺序存储,性能最好,blabla..." 面试官:"那自增主键达到最大值了,用完了怎么办?" 你:"what,没复习啊!!" (然后,你就可以回去等通知了!) 这个问题是一个粉丝给我提的,我觉得挺有 意(KENG)思(B)! 于是,今天我们就来谈一谈,这个自增主键用完了该怎么办! 正文 简单版 我们先明白一点,在mysql中,Int整型的范围如下 类型 最小值 最大值 存储大小 Int(有符号) -2147483648 2147483648 4 bytes Int(无符号) 0 4294967295 4 bytes 我们以无符号整型为例,存储范围为0~4294967295,约43亿!我们先说一下,一旦自增id达到最大值,此时数据继续插入是会报一个主键冲突异常如下所示 //Duplicate entry '4294967295' for key 'PRIMARY' 那解决方法也是很简单的,将Int类型改为BigInt类型,BigInt的范围如下 类型 最小值 最大值 存储大小 BigInt(有符号) -9223372036854775808 9223372036854775808 8

杂谈自增主键用完了怎么办

给你一囗甜甜゛ 提交于 2020-02-25 15:11:33
原文: 杂谈自增主键用完了怎么办 引言 在面试中,大家应该经历过如下场景 面试官:"用过mysql吧,你们是用自增主键还是UUID?" 你:"用的是自增主键" 面试官:"为什么是自增主键?" 你:"因为采用自增主键,数据在物理结构上是顺序存储,性能最好,blabla..." 面试官:"那自增主键达到最大值了,用完了怎么办?" 你:"what,没复习啊!!" (然后,你就可以回去等通知了!) 这个问题是一个粉丝给我提的,我觉得挺有 意(KENG)思(B)! 于是,今天我们就来谈一谈,这个自增主键用完了该怎么办! 正文 简单版 我们先明白一点,在mysql中,Int整型的范围如下 类型 最小值 最大值 存储大小 Int(有符号) -2147483648 2147483648 4 bytes Int(无符号) 0 4294967295 4 bytes 我们以无符号整型为例,存储范围为0~4294967295,约43亿!我们先说一下,一旦自增id达到最大值,此时数据继续插入是会报一个主键冲突异常如下所示 //Duplicate entry '4294967295' for key 'PRIMARY' 那解决方法也是很简单的,将Int类型改为BigInt类型,BigInt的范围如下 类型 最小值 最大值 存储大小 BigInt(有符号) -9223372036854775808

sqlite常用的命令-增删改查

筅森魡賤 提交于 2020-02-25 12:40:49
一、查看版本信息: #sqlite3 -version 二、sqlite3常用命令 1、当前目录下建立或打开test.db 数据库 文件,并进入sqlite命令终端,以sqlite>前缀标识: 2、输出帮助信息: sqlite>.help 3、查看数据库文件信息命令(注意命令前带字符'.'): sqlite>.database 4、退出sqlite终端命令: sqlite>.quit 或 sqlite>.exit 列出当前显示格式的配置: sqlite>.show 6、显示数据库结构:.schema 显示表的结构:.schema 表名 其实就是一些 SQL 语句,他们描述了数据库的结构,如图 7、导出某个表的数据: .dump 表名 8、设置导出目标: .output 文件名 或者 .output stdout 先运行 .output cars.sql ,然后再运行 .dump 命令试试看?如果要回复成导出到终端(标准输出),则运行 .output stdout 10、设置分隔符:.separator 分隔符 我们可以首先运行 SELECT * FROM Cars; ,可以看到默认的分隔符是 | 运行.separator : 以后,再 SELECT * FROM Cars;,可以看到分隔符已经变成 : 了 11、显示标题栏:.headers on 12、设置显示模式:.mode

mysql的基本操作命令

回眸只為那壹抹淺笑 提交于 2020-02-23 17:21:05
显示所有的数据库: show databases; 创建数据库: create database xxx charset=utf8; 创建的同时设置了数据库格式 删除数据库: drop database xxx; 显示创建的数据库: show create database xxx; 显示当前的mysql版本信息: select version(); 显示当前数据库时间: select now(); 使用数据库: use xxx; 查看当前使用的数据库: select database(); 显示当前数据库的所有数据表: show tables; 创建数据表: create table xxx(id int) 例: create table students4(id int unsigned not null auto_increment primary key, name varchar(30), age tinyint unsigned default 0, hight decimal(5,2), gender enum("男", "女"), cls_id int unsigned ); 向数据表中插入数据: insert into students values(0, "xiaoming", 18, 183.33, "男", 13); insert into students

PL/SQL简单使用——导入、导出数据表

主宰稳场 提交于 2020-02-22 05:19:47
1、使用PL/SQL导出、导入表 在使用PL/SQL操作oracle数据库时,经常使用的一个操作就是将自己写的数据表导出,或者想把他人的数据表导入到自己的数据库中。虽然是很简单的操作,但自己之前一直出错,所以在这里记录一下使用方法。 1.1.导出数据表 在PL/SQL中可以选择导出表结构或者只导出数据或者同时导出数据结构和数据。接下来将一一解说。 1.1.1.导出数据表结构 流程 : Tools –> Export User Objects 最后点击导出就可以了,导出的文件格式为 .sql 查看文本编辑器查看person.sql文件: 1.1.2.导出数据表数据和结构 流程 : Tools –> Export Tables 说明 :包含三种导出方式 Oracle Export Sql Insert PL/SQL Developer 第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最为广泛 。 这里面的Export Executable是环境变量ORACLE_HOME下的bin/exp.exe 第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示错误: table contains one