数据库的增删改查

增: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. 原生JS动态添加和删除类

    原生JS动态添加和删除类 由于需要, 给按钮组监听点击事件(要求用事件委托),当有一个按钮被点击时,相应的给该按钮添加一个类(激活类),其他没有点击的按钮就要移出该类 添加和和删除类有三种方法 首先等 ...

  2. 如何在Qt中使用自定义数据类型

    这里我们使用下面这个struct来做说明(这里不管是struct还是class都一样): struct Player { int number; QString firstName; QString ...

  3. lnmp一键安装包安装失败,或者安装下载缓慢的解决办法

    使用阿里云内网安装模块 阿里云外网: ftp://soft6.vpser.net/ 阿里云云内网:ftp://10.163.196.147 修改lnmp.conf 文件 目前可用的国内LNMP ful ...

  4. bash 基础命令

    bash的基础特性(): () 命令历史 history 环境变量: HISTSIZE:命令历史记录的条数: HISTFILE:~/.bash_history: HISTFILESIZE:命令历史文件 ...

  5. Linux Git用户组

    Vivien: groupadd admin useradd -d /home/bill -s /bin/bash -m bill 用户组 查看用户列表 cat /etc/passwd 或者 cat ...

  6. freopen()函数在ACM中的使用

    #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif https://blog.csdn.net/c ...

  7. python 字典操作提取key,value

    python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项  2.访问字典中的值  3.删除字典中的一项  4.遍历字典  5.字典遍历的 ...

  8. 【codeforces 242E】XOR on Segment

    [原题题面]传送门 [题面翻译]传送门 [解题思路] 操作涉及到区间求和和区间异或,考虑到异或操作,我们对每个数二进制分解. 把每一位单独提出来做,异或要么取反要么变为不变,对于每一位建一颗线段树,那 ...

  9. SpringBoot和druid数据源集成Jpa

    1.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  10. Hadoop之HDFS概述

    一.HDFS产生背景及定义 1.HDFS产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文 ...