数据库的增删改查

增: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. windows杀进程

    netstat -aon|findstr 1099 tasklist|findstr 1008 taskkill /pid 10084 -f

  2. Hi3516A开发--接触(转)

    Hi3516A开发--接触

  3. golang获取文件的md5

    直接展示代码 func md5sum(filepath string) (string, error) { f, err := os.Open(filepath) if err != nil { st ...

  4. oracle中新建用户和赋予权限

    1.新建个用户 create user xxxxx(用户名) identified by "密码" alert user 用户名 identified by “新密码” --修改用 ...

  5. bat实现往hosts文件追加内容

    做个笔记. @echo off ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::: ...

  6. Linux直播推流

    Linux系统实现youtube推流直播 系统:centos-7 软件:FFMPEG, youtube-dl 1. 安装FFMPEG 创建并cd到一个目录,下载最新的FFMPEG(下面是64位,32位 ...

  7. SpringMVC,SpringBoot利用ajax上传文件到后台

    1.传递单文件 首先html文件中有个<input type=”file” name=”file” id=”file”/>元素. 前台js写法: var formData=new Form ...

  8. 【codeforces 438D】The Child and Sequence

    [原题题面]传送门 [大致题意] 给定一个长度为n的非负整数序列a,你需要支持以下操作: 1:给定l,r,输出a[l]+a[l+1]+…+a[r]. 2:给定l,r,x,将a[l],a[l+1],…, ...

  9. SPOJ 1811 LCS - Longest Common Substring

    思路 和SPOJ 1812 LCS2 - Longest Common Substring II一个思路,改成两个串就有双倍经验了 代码 #include <cstdio> #includ ...

  10. Navicat无法连接SqlServer数据库

    一.起因 原来安装过SqlServer 2008 R2,后来不用卸载了(没清理,单卸载),之后一直通过Navicat远程连接服务器的SqlServer使用. 前两天工作需要,又安装了SqlServer ...