数据库的增删改查

增: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. 用vue脚手架创建bootstrap-vue项目

    用vue脚手架创建bootstrap-vue项目 框架的地址:https://bootstrap-vue.js.org/docs/ 第一步 vue init webpack demo第二步 cd de ...

  2. Gradle Repository

    // 该init.gradle文件,请保存到${USER_HOME}/.gradle/文件夹下,如:C:\Users\Administrator\.gradle allprojects { repos ...

  3. python调用远程chromedriver.exe、selenium抓包方法

    本地python示例代码: from selenium import webdriver driver = webdriver.Remote(command_executor='http://192. ...

  4. oracle网络服务之beq协议和SDU优化(性能提升可达30%)

    oracle网络服务之beq协议和SDU优化(性能提升可达30%) 12.3.1  BEQ协议 如果Oracle数据库服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接采用进程间直接通信,不 ...

  5. Gradle目录结构详解

    环境:window 7 64 Gradle 版本: gradle 3.0 创建文件夹,并初始化 mkdir gradle_dir && cd gradle_dir gradle ini ...

  6. layui 单选项 点击显示与隐藏

    同一个页面有多个单选按钮:https://blog.csdn.net/haibo0668/article/details/86220767

  7. visual编译通过后,debug报错找不到*.dll

    解决: 在debug目录下放入*.dll

  8. 使用java程序对oracle添加触发器时,报错:索引中丢失 IN 或 OUT 参数:: 1

    解决方法: 执行sql语句时,使用java.sql.Statement代替java.sql.PreparedStatement. java.sql.PreparedStatement ps = con ...

  9. 【php】单例模式和工厂模式

    单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象 header("Content-type: text/html; charset=utf- ...

  10. web 页面间传值 js 封装方法

    用法 var id = getParam("id"); function getParam(strKey) { var url=document.URL; //var url=&q ...