数据类型和开创,Mysql学习第三天

数据类型:数据列,存款和储蓄进程参数,表明式和局部变量的数目特征。

简介:

Mysql学习第三天,mysql第二天

DDL 数据库定义语言(库的操作)(看懂,专门的学问时选择较少)
一.创立2个库
         create database 库名称 [character set 码表名称 collate
字符核对集名称]
         create database day15;
        一>看到Query OK, 一 row affected (0.00 sec) 表示实施成功.
        贰>sql语句语法: 结尾应使用”;”号.
        三>字符核查集: 决定数据排序的。
二.展现mysql中都有怎么样库了.
        show databases;
        +——————–+
        | Database |
        +——————–+
        | information_schema |
        | day13 |
        | mysql |
        | performance_schema |
        | test |
        +——————–+
       
能够见见除了自个儿创造的库之外,还有部分别的库。其余库(除了test)不要乱动。因为是保留mysql的布局音讯,账户消息等等。
        test库 : 自动创制用于测试的。
三.删减1个数目
        drop database 数据库名称;
        drop database day15;
四.改造数据库码表和字符查对(不常用)
        alter database 数据库名称 character set 数据库码表 [collate
查对集名称];
        alter database day15 character set utf8 collate utf8_bin;
伍.脚下要选取的库(首要)
        use 库名
        use day15;
        出现Database changed,表明切换落成.
6.查看当前选拔的数据库
        select database();
        +————+
        | database() |
        +————+
        | day15 |
        +————+
7.出示创造库的语句.
        show create database 数据库名称;
        show create database day15;
        | day15 | CREATE DATABASE `day15` /*!40100 DEFAULT CHARACTER
SET utf8 COLLATE
        utf8_bin */ |
//——————————————————————————————————————————————————-
数据库中的数据类型 (通晓,知道在怎么动静下相应利用什么类型的数码)
一。数字型
        整型
         TINYINT 1字节 byte
         SMALLINT 2字节 short
         MEDIUMINT 3字节
         (常用)INT 4字节 int
         BIGINT 8字节 long
        浮点型
         FLOAT 单精度4字节 float
         **DOUBLE 8字节 double

DDL 数据库定义语言(库的操作)(看懂,职业时行使较少)
一.创造叁个库
数据类型和开创,Mysql学习第三天。         create database 库名称 [character
set 码表名称 collate 字符核查集名称]
         create database day15;
        一>看到Query OK, 一 row affected (0.00 sec) 表示实施成功.
        二>sql语句语法: 结尾应使用”;”号.
        三>字符核查集: 决定数据排序的。
2.出示mysql中都有何样库了.
        show databases;
        +——————–+
        | Database |
        +——————–+
        | information_schema |
        | day13 |
        | mysql |
        | performance_schema |
        | test |
        +——————–+
       
可以看来除了自个儿创造的库之外,还有一些别样库。其他库(除了test)不要乱动。因为是保留mysql的布局音信,账户音讯等等。
        test库 : 自动成立用于测试的。
三.去除1个数目
        drop database 数据库名称;
        drop database day15;
四.退换数据库码表和字符查对(不常用)
        alter database 数据库名称 character
set 数据库码表 [collate 查对集名称];
        alter database day15 character set utf8 collate utf8_bin;
伍.脚下要选取的库(主要)
        use 库名
        use day15;
        出现Database changed,表达切换达成.
六.查看当前甄选的数据库
        select database();
997755.com澳门葡京 ,        +————+
        | database() |
        +————+
        | day15 |
        +————+
7.浮现创建库的语句.
        show create database
数据库名称;
        show create database day15;
        | day15 | CREATE DATABASE `day15` /*!40100 DEFAULT CHARACTER
SET utf8 COLLATE
        utf8_bin */ |
//——————————————————————————————————————————————————-
数据库中的数据类型 (领悟,知道在什么样状态下相应接Nash么类型的数量)
一。数字型
        整型
         TINYINT 1字节 byte
         SMALLINT 2字节 short
         MEDIUMINT 3字节
         (常用)INT 4字节 int
         BIGINT 8字节 long
        浮点型
         FLOAT 单精度4字节 float
         **DOUBLE 8字节 double

 

一、MysQl是1种开源关系型数据库管理连串

         *DELIVINAL 未有精度损失

        DOUBLE 和 DECIMAL 区别?
         DOUBLE类型在运算时会有精度的贫乏。
         DELIVINAL 正是消除精度缺失难题的。(底层使用字符串来保存数字)
         单纯想表示小数属性时,使用double。

         *DEMABMWX伍CHL 未有精度损失

        DOUBLE 和 DECIMAL 区别?
         DOUBLE类型在运算时会有精度的缺少。
         DEEquinoxL 就是化解精度缺点和失误难点的。(底层使用字符串来保存数字)
         单纯想表示小数属性时,使用double。

整形:

贰、是有MysQl AB集团支付,近日Oracle旗下产品

         需求反复加入运算的小数,使用decimal。

二。字符串类型
 注意: 字符串类型要使用单引号包裹.
        短字符串类型

         需求频仍加入运算的小数,使用decimal。

二。字符串类型
 注意: 字符串类型要运用单引号包裹.
        短字符串类型

tinyint:多少个字节,-12八到1二7;贰的八遍方

叁、MySQL分为社区版和商业版

        CHA奥德赛/VA兰德HighlanderCHALX570 (最大尺寸25五字节)

难点:char和varchar有怎么样差距?
         char定长字符串.varchar代表变长字符串.
         同时钦赐长度为十。当存款和储蓄 abc
         char => ‘abc ‘
         varchar => ‘abc’
结论: 开拓中varchar用的最多。 char只在代表一定长度的枚举中动用。例如

        CHASportage/VA路虎极光CHA中华V (最大尺寸25五字节)

标题:char和varchar有怎么着界别?
         char定长字符串.varchar代表变长字符串.
         同时钦赐长度为拾。当存款和储蓄 abc
         char => ‘abc ‘
         varchar => ‘abc’
结论: 开发中varchar用的最多。 char只在象征一定长度的枚举中运用。比方

smallint:八个字节,-3276八到327陆7;贰的1四次方

特点:

:性别(用01,02表示)

长字符串类型(流类型)
      *TEXT/CLOB 保存文本(字符流) –>
当要封存的剧情超越255字节时使用. java中的writer 字符
      BLOB 保存字节(字节流) –> 开采中用不到 java中的stream 字节
   Character Large Object
   binary Large Object
 区别:
      text:只可以存款和储蓄字符数据.
      BLOB:能够积累字符和多媒体音信(图片 声音 图像)
三、日期和岁月档期的顺序
        date 只记录日期 20一伍-0一-1四
        time 只记录时间 11:3陆:25
        year 只记录年 2015
        datatime 又记录日期 又记录 时间 20一五-0一-14 11:3陆:25
**timestamp 同上 2015-01-14 11:36:25
   问题: datatime 和 timestamp 区别?
         那两种类型记录的数量是壹模同样.
         不一致在于插入的时候,假诺插入datatime类型时,未有传值,那么该类型暗中认可值正是null;
         倘若插入timestamp类型时,未有传值,那么该类型默许值便是当前时刻;
//————————————————————————–;—————————————-
与创设表相关的语句(DDL) (记住,能够手写)
      CREATE TABLE table_name
      (
      田野(field)一 datatype 约束/主键约束 auto_increment,
      field2 datatype 约束,
      field3 datatype 约束
      )character set 字符集 collate 核查规则
1.创建表
      create table t_user(
      name varchar(10),
      password varchar(20),
      age int(3), — 数字类型在宣称时,能够忽略长度.
      birthday datetime,
      hiredate timestamp
      );
varchar最棒钦点长度
整型一般不钦定.
2.查看当前库中有啥表
        show tables;
三.查看表的结构
        desc 表名;
        desc t_user;
4.删除表
        drop table 表名;
        drop table t_user;
5.增多一列
        alter table 表名 add 列名 类型;
        alter table t_user add photo blob;
陆.更改列的等级次序
        alter table 表名 modify 列名 类型;
        alter table t_user modify photo varchar(20);
柒.改造列的名目
        alter table 表名 change 旧列名 新列名 数据类型;
        将 photo这一列 改名为 image
        alter table t_user change photo image varchar(20);
八.去除某列
        alter table 表名 drop 列名;
        alter table t_user drop image;
玖.修改表的名称
        rename table 旧表名 to 新名;
        rename table t_user to user;
十(用的极少)修改表的字符集.
(假设创造表时不点名,默许使用数据库的字符集)
        alter table 表名 character set 字符集 collate 校对集;
        alter table t_user character set utf8 collate utf8_bin;
//————————————————————————————————-
列的约束 (精通)
保障数据的完整性的.
一.非空约束(not null) 钦点非空约束的列, 在插入记录时 必须包蕴值.
二.唯1约束(unique) 该列的始末在表中. 值是绝无仅有的.
三.主键约束(primary key)
当想要把某一列的值,作为该列的绝无仅有标示符时,能够钦定主键约束(包括非空约束和唯1约束). 2个表中只可以钦点一个主键约束列.
主键约束 , 能够知晓为 非空+唯1.
瞩目: 并且一张表中不得不有贰个主键约束.
自律显示数据库的欧洲经济共同体性.
譬如:创造带有约束的表
create table t_user2(
id int primary key auto_increament, — 职员和工人编号
name varchar(10) not null, — 职员和工人姓名
loginname varchar(10) not null unique, — 登入名称
password varchar(20) not null, — 密码
age int(3) not null, — 年龄
birthday datetime not null, — 生日
hiredate timestamp not null — 入职日期
);
//—————————————————————————————————————————-
主键自动增进 (领悟)

注意:
一.前提有些表的主键是数字. 我们可以将该主键设置为自增.
二.选取主键自增可能会招致主键的断层。
三.mysql,sqlserver那八个数据库具备该成效.
4.主键自增只可以给主键约束的列加。
自增正是 每一趟插入记录时不需求钦命值. 该字段本身维护团结的值.
护卫方式就是每一遍加1;
语法:
create table t_user(
id int primary key auto_increment,
password varchar(30) not null,
age int not null,
birthday datetime not null,
hiredate timestamp not null,
number int unique
);
//——————————–成立修改表演练—————————————————
CREATE TABLE employee (
id INT(10),
NAME VARCHAR(10),
gender VARCHAR(10),
birthday DATETIME,
entry_date TIMESTAMP,
job VARCHAR(5),
salary DOUBLE(5,3),
RESUME TEXT
);

一在上边职员和工人表的根底上平添3个image列。

        alter table employee add image blob;

二修改job列,使其尺寸为60。

        alter table employee modify job varchar(60)’

3删除gender列。

        alter table employee drop gender;

4表名改为user。

        rename table employee to user;

5修改表的字符集为utf捌
6列名name修改为username
        alter table employee change name username varchar(20);

//———————————-对表中数据的增删改(DML)——————————————————————-
create table t_user(
id int primary key auto_increment,
name varchar(20) not null,
email varchar(20) unique
)

DDL
数据库定义语言(库的操作)(看懂,职业时选择较少) 一.开立3个库 create
database 库名称 [character set 码表名称…

:性别(用01,02表示)

长字符串类型(流类型)
      *TEXT/CLOB 保存文本(字符流) –>
当要封存的剧情超过255字节时使用. java中的writer 字符
      BLOB 保存字节(字节流) –> 开垦中用不到 java中的stream 字节
   Character Large Object
   binary Large Object
 区别:
      text:只可以存款和储蓄字符数据.
      BLOB:能够积累字符和多媒体音讯(图片 声音 图像)
3、日期和岁月项目
        date 只记录日期 201伍-0一-1肆
        time 只记录时间 1壹:3六:二五
        year 只记录年 20一5
        datatime 又记录日期 又记录 时间 201五-0一-1肆 11:36:25
**timestamp 同上 2015-01-14 11:36:25
   问题: datatime 和 timestamp
区别?
         那两种类型记录的多寡是1模一样.
         差异在于插入的时候,假若插入datatime类型时,未有传值,那么该类型暗许值便是null;
         要是插入timestamp类型时,未有传值,那么该类型暗许值便是现阶段时刻;
//——————————————————————————————————————–
与创立表相关的说话(DDL) (记住,可以手写)
      CREATE TABLE table_name
      (
      田野(field)1 datatype 约束/主键约束 auto_increment,
      field2 datatype 约束,
      field3 datatype 约束
      )character set 字符集 collate 核查规则
1.创建表
      create table t_user(
      name varchar(10),
      password varchar(20),
      age int(三), — 数字类型在宣称时,能够忽略长度.
      birthday datetime,
      hiredate timestamp
      );
varchar最棒钦定长度
整型一般不钦点.
二.查看当前库中有何表
        show tables;
三.查看表的结构
        desc 表名;
        desc t_user;
4.删除表
        drop table 表名;
        drop table t_user;
伍.增添1列
        alter table 表名 add 列名
类型;
        alter table t_user add photo blob;
6.改造列的类别
        alter table 表名 modify 列名 类型;

        alter table t_user modify photo varchar(20);
7.退换列的名号
        alter table 表名 change 旧列名
新列名 数据类型;
        将 photo这一列 改名为 image
        alter table t_user change photo image varchar(20);
8.去除某列
        alter table 表名 drop 列名;

        alter table t_user drop image;
九.修改表的名目
        rename table 旧表名 to 新名;

        rename table t_user to user;
十(用的极少)修改表的字符集.
(如若成立表时不点名,暗中认可使用数据库的字符集)
        alter table 表名 character set
字符集 collate 校对集;
        alter table t_user character set utf8 collate utf8_bin;
//—————————————————————————————————–
列的束缚 (驾驭)
保障数据的完整性的.
1.非空束缚(not null) 内定非空约束的列, 在插入记录时 必须包蕴值.
二.唯1约束(unique) 该列的内容在表中. 值是绝无仅有的.
三.主键约束(primary key)
当想要把某1列的值,作为该列的唯1标示符时,能够钦赐主键约束(包罗非空约束和唯1约束). 1个表中只可以钦赐二个主键约束列.
主键约束 , 能够清楚为 非空+唯一.
瞩目: 并且一张表中只可以有二个主键约束.
封锁体现数据库的完好性.
譬如:创建带有约束的表
      create table t_user2(
      id int primary key auto_increament, — 职员和工人编号
      name varchar(十) not null, — 职员和工人姓名
      loginname varchar(10) not null unique, — 登录名称
      password varchar(20) not null, — 密码
      age int(3) not null, — 年龄
      birthday datetime not null, — 生日
      hiredate timestamp not null — 入职日期
      );
//—————————————————————————————————————————-
主键自动增加 (明白)

注意:
一.前提某些表的主键是数字. 我们得以将该主键设置为自增.
二.用到主键自增恐怕会促成主键的断层。
3.mysql,sqlserver那三个数据库具有该作用.
四.主键自增只可以给主键约束的列加。
自增正是 每回插入记录时不需求钦定值. 该字段自个儿维护本身的值.
护卫情势正是历次加一;
语法:
      create table t_user(
      id int primary key auto_increment,
      password varchar(30) not null,
      age int not null,
      birthday datetime not null,
      hiredate timestamp not null,
      number int unique
      );
//——————————–成立修改表练习—————————————————
      CREATE TABLE employee (
      id INT(10),
      NAME VARCHAR(10),
      gender VARCHAR(10),
      birthday DATETIME,
      entry_date TIMESTAMP,
      job VARCHAR(5),
      salary DOUBLE(5,3),
      RESUME TEXT
      );

1在上边职员和工人表的基础上扩张三个image列。

        alter table employee add image blob;

二修改job列,使其长度为60。

        alter table employee modify job varchar(60)’

3删除gender列。

        alter table employee drop gender;

4表名改为user。

        rename table employee to user;

伍修改表的字符集为utf八
6列名name修改为username
        alter table employee change name username varchar(20);

mediuint:多个字节,-838860八到8388607;二的二贰回方

1、体积小

int:三个字节,-214748364捌到21474836四7;二的26次方

2、速度快

bigint:八个字节,-922337203685477580八到9223372036854775807;二的陆一回方

3、成本低

浮点数:

四、免费开源

997755.com澳门葡京 1

5、多语言帮助

float和double也得以有(M,D)M表示位数,D表示小数点后的位数,decimal是规范值,其它多个是近似值。

六、可移植性好

日未时间型:

7、高效(协理多线程,丰硕利用cpu能源,运维速度相当的慢)

997755.com澳门葡京 2

8、扶助大气数量查询和仓库储存

字符型:

9、操作简易易学习

除此之外能够储存字符串数据之外,仍是可以积攒其余数据,比方图片和音响的二进制数据

密码: admin

997755.com澳门葡京 3

show databases;  是翻开你持有数据库的列表

存款和储蓄“abc”,char(陆),那么则为“abc  
”,为定长,varchar(6),则存款和储蓄“abc”,不为定长。

use mysql;        查看mysql

汉字为八个字节。

use  选中内定数据库

 

****表的定义

创造和查阅数据库表。

表头(header):每一列的名字

数据表:其实就是表格,有行和列。

列(row):具备同等数据类型的联谊

创建表:

行(col):每一行用来描述某些人、事物具体新闻

举例说创设那些表997755.com澳门葡京 4

键(key):用来分辨有些特定的人,大概是物的秘技,键的值在近日列中有着唯一性

骨干语法997755.com澳门葡京 5

值(value):行的现实新闻,每一种值必须与该列的数据类型同样

下一场实例操作

****数据类型

997755.com澳门葡京 6

1、日期和时间数据类型

 

date(日期)  格式:2017-08-08;

 用“show tables from
book”来体现那些数据库中的表,倘若是日前数据库能够是‘show tables’

time(时间)  格式:10:28:30

997755.com澳门葡京 7

datatime  日期时间  2017-0八-0八 10:2八:30

那就是说 ,查看表的布局是“show columns from xx;”大约是那样

timestamp  自动积累记录修改时间

997755.com澳门葡京 8

year 年份

也足以用describe xx或desc xx来看

贰、数值数据类型

997755.com澳门葡京 9

2-1:整型

最终是呈现数据表的创设语句“show create table xx;”

tinyint

997755.com澳门葡京 10

smalint

 

mediumint

修改数据库表

int

添加列

bigint

alter table reader add email varchar(30) (after
tel/first);能够钦赐地方增加,不然在最后1行。

2-2浮点型

修改列名

float(m,d)  单精度浮点型    m总个数,d小数位

alter table reader change email email2 varchar(30);

double(m,d) 双精度浮点型    m总个数,d小数位

修改列的数据类型

decimal(m,d) 积累为字符串的浮点数

alter table reader modify email2 varchar(10);

3、字符串数据类型

修改列的排列地点

壹.char(N)  恒定长度  最多253个字符

alter table reader modify balance decimal(7,3) alter email;

varchar(n) 可变长度  最多65五三十四个字符

alter table reader modify balance decimal(7,3) first;

####了解

删除列

tinytext  可变长度  最多二伍12个

alter table reader drop email2;

text      可变长度  最多65伍三十四个

修改表名

mediumtext 可变长度  最多是二的33遍方-一个字符

alter table reader rename to readerinfo;

longtext  可变长度  最多二的26次方-1个字符

 

难点:

一.char(n)和varchar(n)括号中的n代表字符的个数,并不是字节的个数

之所以我们使用普通话的时候(utf-八)就代表能够插入n个汉语,

不超过实际际占用n*3个字节

2.char和varchar最大分别  char不管实际value都会只有n个字符

varchar只会占用实际字符,占用的空间+一,并且实际空间+一要求 <=n

三.实际值的长度超越了n,超过的截取未有越过部分

四.char在仓库储存的时候会截取尾部的空格,varchar就不会

*****

create database  数据库名

始建数据库

除去数据库  drop  database 数据库名

use +库名    ==> 使用数据库

show tables 查看当前相中的数据Curry边的所以数据表

创建表

create table +数据表名名字 如(abc)

查阅数据表的表结构

show columns from 数据表名:

desc 数据表名

去除数据表:

drop table 表名

*****数据    id name sex birth

拉长数量    ==>  insert into 名字  values(‘小明’,’男’,’19玖伍-0玖-二一’);

添增添条数据  ==>

insert into 名字 
values(‘小明’,’男’,’1995-09-21′),(‘小红’,’男’,’1995-09-21′),(‘小绿’,’男’,’1995-09-21′);

询问全体数据:

select * from 表名:

询问单个:

select * from 表名 where id=:

查询单个字段:

select id from 表名 :查询条件(可选)

修改数据 :  update 表名 set 字段=(id或然name)新的值  where id=2;

删除数据:

delete from 表名 where 条件;

原则: id=二  ==>钦点删除 id=2的数目;

id  ==》 删除包罗id的富有数据

增加表结构(在终极面加多)

alter table 表名 add 列名(字段) 约束 (数据类型之类);

alter table abc add age varchar(3);

增添表结构(在终极后边加多)

alter table 表名 add 列名(字段) 约束 (数据类型之类) first;

alter table abc add age varchar(3) first;

添加表结构(在钦命地点增多)

alter table 表名 add 列名(字段) 约束 (数据类型之类) after 钦赐类名;

alter table abc add age varchar(3) after id;

去除表结构:

alter table 表名 drop 列名

alter table abc drop name;

修改列的档期的顺序

alter table 表名 modify 列名 新类型 新参数;

alter table abc modify name varchar(3);

修改列名和列类型

alter table 表名 change 旧的类名  新的类名 新的类型  新的参数

alter table abc change bith bithday varchar(10);

修改表民:

rename table 原表名 to 新表名;

alter table 原表名 rename 新表名;

总计数据条数 ==》count()

select count(*) from 表名;

询问id 在某些区间: 如 查询id二-3的剧情

select * from 表名 where id>=2 and id<4

查询 第2条后的3条数据:

select * from 表名 limit ②,3; 二起首地点 (不带有),3:截取数量

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website