数据库的增删改查

增:create  database  [if  not  exists ] 数据库名  [charset  字符集]  [collate  字符排序规则];

说明:

1,if  not  exists:用于判断是否存在该数据库名,如果存在则不执行该语句

2,字符集: 意图数据存储到本数据库中的时候所使用的字符编码名称,通常utf8,也可以gbk。

3,字符排序规则通常不设置,而是使用所设定的字符集的默认规则(每个字符集都有一个默认的排序规则);

什么叫排序规则:设定一个字符集中的所有字符怎么排列先后顺序的规则。

“中”,“国”,“人”:

Show charset :查看字符集

Show collate :查看排列规则

Exp:Create database z_0222 charset utf8;

查询:

Show databases;

删:drop  database  数据库名;

Exp:drop database z_0222;

修改数据库:

·alter database 数据库名 character set=新字符集 collate=新校对集;

进入数据库:

Use 库名

通常,要进行数据中的数据表和数据的操作,都必须先“进入”该数据库。

问题:在cmd使用set  names  utf8,然后得到乱码了?

1,cmd,必须使用gbk

2,php文件中,可以根据文件的编码来定:utf8编码就是用utf8,ANSI编码(gbk)就用gbk

表的增删改查:

查:

Show tables;

增:

create  table  [if not  exists] 表名(

字段列表, [约束或索引列表],

字段列表, [约束或索引列表],

索引

约束

) [表选项列表];

Exp:create table login(

Id int,

Name varchar(10),

Age char(1)

);

删:drop table 表名;

查看表结构:

Desc 表名;

数据类型:

整数类型

分为:

tinyint(1字节), smallint(2字节), mediumint(3字节),int(4字节), bigint(8字节)

默认情况下,这些整数类型都是可正可负的,那么:

tinyInt就只能存储:  -128--127这些数

小数类型

可以分为:

单精度浮点型: float,非精确数,通常不设定长度

双精度浮点:double,非精确数,通常不设定长度

定点型:decimal,精确数,通常,定点型需要设定长度,形式为:decimal(总长, 小数位数)

时间日期类型

有如下:

date,  time,  datetime,  year,  timestamp

注意:

写入数据库时,直接的时间日期数据,应该用单引号引起了。‘2018-08-11 08:39:32’

year类型可以是4位整数或4位纯数字字符串,也可以是2位整数或2位纯数字字符串

2018   ‘2018’

timestamp表示的含义是“时间戳”,其实就是指“当前时刻”,本质上是一个数字,代表从1970年1月1日0点0分0秒到某个时间之间的秒数数值。该类型的字段值无需赋值,而是会自动取得当前时间值。

字符串类型

最基本最重要的2个:

varchar类型:可变长度字符串类型。最多能存储65532个字节的字符串——也还要考虑字符编码。设定的长度只是最长长度,但可以不存满,则实际长度以数据长度为准。

Varchart(10)

char类型:定长字符串类型。最多能存储256个字符。如果存储的数据不足设定的长度,则会自动补空格填满。

设定时都需要给定长度,比如:varchar(20),  char(6);

mysql,一行的所有内容的总的存储长度也有个限制,约65535个。

2个二进制文本:

binary: 类似char,只是里面不存“文本”,而是存“文本的二进制数据”

varbinary: ,类似varchar,同样,不存“文本”,而是存“文本的二进制数据”

2个大文本类型:

text: 可以存储“超大文本”,且其实际的长度并不占用一行的长度。相对char和varchar,效率低。

blob:  可以存储“超大二进制文本”,通常用于存储图片这种“二进制数据”

2个有关“选项”的文本存储形式:

enum:专门用于方便存储类似表单中的“单选项”的值。

形式:   篮球,足球,乒乓球  varchart(20)

enum(‘选项1’,‘选项2’,‘选项3’,......)

这些选项的值虽然是字符串,但其数据库内部存储其实是数字(效率高),他们的数字值是:1, 2, 3,4, 5,。。。。。最多6万多个。

set:专门用于方便存储类似表单中的“多选项”的值。

形式:篮球,足球,乒乓球

set (‘选项1’,‘选项2’,‘选项3’,......)

这些选项的值虽然是字符串,但其数据库内部存储其实是数字(效率高),他们对应的数字值是:1, 2,4, 8, 16,。。。。。最多6万多个

7=1+2+4

可见,enum,set类型的字段,限制的“字符串”数据值。

跟随我在oracle学习php(16)的更多相关文章

  1. 跟随我在oracle学习php(19)

    Order by子句 形式: order  by  排序字段1  [排序方式],  排序字段2  [排序方式], ..... 说明: 对前面取得的数据(含from子句,where子句,group子句, ...

  2. 跟随我在oracle学习php(18)

    修改表: 一般概述 通常,创建一个表,能搞定(做到)的事情,修改表也能做到.大体来说,就可以做到: 增删改字段: 增:alter  table  表名  add  [column]  字段名  字段类 ...

  3. 跟随我在oracle学习php(17)

    通用设定形式 定义一个字段的时候的类型的写法. 比如: create  table  tab1  (f1  数据类型 ); 数据类型: 类型名[(长度n)]  [unsigned]  [zerofil ...

  4. 跟随我在oracle学习php(15)

    开发环境 独立开发环境:组成 Windows/Linux php Apache MySQL 集成开发环境:phpstudy wamp xammp 关系数据库: SQL: Struct Query La ...

  5. 跟随我在oracle学习php(14)

    CSS3的@keyframes用法详解: 此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识: keyfram ...

  6. 跟随我在oracle学习php(13)

    常用的css样式 [class~="col-6"]:选择我所有类名中包含有col-6独立单词的元素 [class*="col-"]:选择所有类名中含有" ...

  7. 跟随我在oracle学习php(12)

    DOM 文档对象模型 body:(什么时候)找到标签 操作标签找到标签:(都会返回一个js对象)document.getElementById() 通过iddocument.getElementsBy ...

  8. 跟随我在oracle学习php(11)

    数组专题 数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ consol ...

  9. 跟随我在oracle学习php(10)

    正则表达式 做验证 做匹配 用符号来描述书写规则:/ 中间写正则表达式 /^ :匹配开头,$:匹配结尾 : /^ve/以ve开头的 /ve$/以ve结尾\d:一个任意的数字\w:一个任意的数字或字母\ ...

随机推荐

  1. Redis连接池

    package com.lee.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; impor ...

  2. 【awk】用awk将Fasta文件序列变成一行

    awk: awk '/^>/&&NR>1{print "";}{ printf "%s",/^>/ ? $0" &q ...

  3. ORA-28002密码失效问题解决

    问题:提示ORA-28002解决: 第1种方法:数据库级别,需要重启查看过期时间: sql>SELECT * FROM dba_profiles WHERE profile='DEFAULT' ...

  4. Guitar Pro里的渐强渐弱符号

    今天我们来介绍Guitar Pro里经常会用到的渐强渐弱符号,渐强和减弱符号是常用的强度记号,分别用来表示音量加强或者减弱的过程. 渐强符号是由两条相等长度的线组成,它们的左端相连,右端逐渐张开.这个 ...

  5. 02_计算机网络的OSI七层(应表会传网数物)

    七层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 五层: 应用层 传输层 网络层 数据链路层 物理层 四层: 应用层 传输层 网络层 数据接口层 一.物理层(Physical Lay ...

  6. spring boot 2使用Mybatis多表关联查询

    模拟业务关系:一个用户user有对应的一个公司company,每个用户有多个账户account. spring boot 2的环境搭建见上文:spring boot 2整合mybatis 一.mysq ...

  7. UVA11107 Life Forms

    思路 后缀数组 先都拼在一起 二分+height分段 按照小于x的为分界,判断是否有一个分段中包含超过n/2个串 代码 #include <cstdio> #include <cst ...

  8. 解决 EDAS:Upload failed: The right margin is 0.535 in on page 1 问题

    参考: IEEETran page margins 解决 EDAS:Upload failed: The right margin is 0.535 in on page 1 问题 在 EDAS 上上 ...

  9. 从svn到git开发转变

    前言:目前的公司的开发技术还是处于刀耕火种的年代,react,vue已经火到不行了,可是还在用jQuery一遍遍处理着dom.版本控制用的是svn,这里也不是说svn不好,在windows下svn的“ ...

  10. 也谈开源GIS架构实现思想

    针对业务发展需要,需要开发设计一套具备自己独立GIS平台.然而以ArcGIS为主的GIS软件价格昂贵,在经过仔细技术与市场动向调研后,确立一套以Java语言的开源GIS软件平台.桌面CS端Udig+G ...