数据表

SQL数据类型:
①字符型数据类型

  • 是数据库中最常用的数据类型之一, 有时人们将其称为:字符串。
  • 字符型数据可由字母(a-z,A-Z 大小写字母共52个)、数字(0-9共10个)、空白符(空格符,制表符,换行符等统称为空白符)、标点,特殊字符与汉字(在数据表中允许存储标点,特殊字符和汉字)组成。
    其中,空白符只在字符常量和字符串中有具体意义。在其他地方出现时(如SQL语句各关键字之间),只起间隔作用,编译程序对他们忽略。
  • 在SQL语言中,字符型数据被放在一对单引号(’ ',且必须是英文输入状态下的单引号)中,用于区别其他类型的数据。每个字符型数据都有长度,其长度是该字符型数据类型个数。(如:'home’的长度是4,'0123456’的长度是7,但每个汉字占两个字符的位置,所以’张三’的长度是4,不是2)

②数字型数据

  • 就是通常所说的数字。
  • 可由0~59之间的数字、正负符号和小数点(.)组成。(如:100、3.14、-123等)
  • 数字型数据不允许北方在任何定界符之内。数字型数据除了以上的形式表示之外,还可以用浮点形式的科学计数法表示。(如:3.46E+03等)
  • 在具体的数据库系统中,数字型数据又被详细分为整数型数据、浮点型数据和货币型数据等。
  • 数字型数据也有长度。(如:100的长度为3,3.14的长度为4,包括小数点,-123的长度为3等)

③日期型数据

  • 用来表示日期和时间。(如:2021-09-01 12:00:00、2021年9月1日、01/SEP/2021、12:00:00等)

④二进制型数据

  • 在计算机中所有数据都被保存为二进制数据。(如以上的字符型数据、数字型数据和日期型数据等,在计算机中都是以二进制数据的形式存放的)
  • 此处所说的二进制数据则专指用来表示图形图像、视频动画和其他类型的文件等等。当前流行的所有数据可系统都支持二进制数据。(如:在SQL Server中提供了IMAGE数据类型,通常存放图片,在MySQL中提供了BLON和LONGBLOB数据类型,用来存放BLOBs数据等)

⑤自定义数据

  • 除了数据库系统提供的数据类型以外,用户还可以根据自己的需要自定义数据类型。SQL中的CREATE TYPE就是用于自定义数据类型的语句。
  • 不过,并非全部是数据库系统都支持CREATE TYPE语句。(如:SQL Server 2000中就不可以使用CREATE TYPE语句定义用户数据类型,从SQL Server 2008才开始支持该语句)

MySQL数据类型:
①数值类型

  • TINYINT:用于存放-128~127之间的所有正负整数。
    该类型的数据在内存中占用1个字节的空间,即使用8位二进制数表示,其中的1位二进制数表示整数值的正负号,其它7位表示整数值的长度和大小
  • TINYINT UNSIGNED:无符号的TINYINT类型,用于存放0~255之间的所有整数。
    该类型的数据在内存中占用1个字节的空间
  • SMALLINT:用于保存-32768~32767之间的所有正负整数。
    该类型的数据在内存中占用2个字节的空间
  • SMALLINT UNSIGNED:无符号的SMALLINT类型,用于存放0~65535之间的所有整数。
    该类型的数据在内存中占用2个字节的空间
  • MEDIUMINT:用于存储-8388608~8388607之间的所有正负整数。
    该类型的数据在内存中占用3个字节的空间
  • MEDIUMINT UNSIGNED:无符号的MEDIUMINT类型,用于存放0~16777215之间的所有整数。
    该类型的数据在内存中占用3个字节的空间
  • INTINTEGER:用于存放-2147483648~2147483647之间的所有正负整数。
    该类型的数据在内存中占用4个字节的空间
  • INT UNSIGNEDINTEGER UNSIGNED:无符号的INTINTEGER类型,用于存放0~4294967295之间的所有整数。
    该类型的数据在内存中占用4个字节的空间
  • BIGINE:用于存放-9223372036854775808~9223372036854775807之间的所有正负整数。
    该类型的数据在内存中占用8个字节的空间
  • BIGINT UNSIGNES:无符号的 BIGINE类型,用于存放0~18446744073709551615之间的所有整数。
    该类型的数据在内存中占用8个字节的空间
  • FLOAT:用于存放数据范围为-3.402823466E+38 ~ -1.175494351E-38,0,1.175494351E-38 ~ 3.402823466E+38之间的浮点数。
    该类型的数据在内存中占用4个字节的空间
  • DOUBLEDOUBLE PRECISIONREAL:用于存放数据范围为-1.7976931348623157E+308 ~ -2.2250738585072014E-308,0,2.2250738585072014E-308 ~ 1.7976931348623157E+308之间的浮点数。
    该类型的数据在内存中占用8个字节的空间
  • DECIMAL[(M,[D])]NUMERIC(M,D):由M(整个数字的长度,包括小数点坐标的位数和小数点右边的位数,但不包括负号和小数点)和D(小数点右边的位数)决定的数字数据类型。M默认为10,D默认为0。
    例:DECIMAL[(5,[2])]NUMERIC(5,2)的表示范围是-999.99~999.99

②字符串类型

  • CHAR(M) [BINARY]NCHAR(M) [BINARY]:用于保存定长的字符串。
    M:表示字符串的最大长度,其范围是1~255,字符串中的每个字符占用1个字节的存储空间。
    BINARY:表示不分大小写字母。没有BINARY项,则默认BINARY项。
    NCHAR:表示使用默认的字符集。
    当输入的字符串个数小于M,则数据库系统将以空格补足,但在取出来时末尾的空格将自动去掉。
  • [NATIONAL] VARCHAR(M) [BINARY]:用于存放变长的字符串,占用的存储空间范围为0~255字节。
    M:表示字符串的最大长度,其范围是1~255,字符串中的每个字符占用1个字节的存储空间。
    BINARY:表示不分大小写字母。没有BINARY项,则默认BINARY项。
    当输入的字符串个数小于M,则数据库系统将以空格补足,但在取出来时末尾的空格将自动去掉。
  • TINYBLOB:用于保存不超过255个字符的二进制字符串,所占用的存储空间范围为0~255字节。
  • BLOB:用于存储二进制的长文本数据,所占用的存储空间范围为0~65535字节。
  • MEDIUMBLOB:用于存储二进制形式的中等长度的长文本数据,所占用的存储空间范围为0~16777215字节。
  • LONGBLOB:用于保存二进制形式的极大长度的长文本数据,所占用的存储空间范围为0~4294967295字节。
  • TINYTEXT:用于存储短文字字符串,所占用的存储空间范围为0~255字节。
  • TEXT:用于存储长文本数据,所占用的存储空间范围为0~65535字节。
  • MEDIUMTEXT:用于存储中等长度的长文本数据,所占用的存储空间范围为0~16777215字节。
  • LONGTEXT:用于保存极大长度的长文本数据,所占用的存储空间范围为0~4294967295字节。
    平时用的最多的是CHARVARCHAR类型,偶尔用到TEXT类型

③日期与时间类型

  • DATE:用于存储日期数据,日期数据的范围为1000-01-01至9999-12-31。
    每个DATE类型的数据占用3字节存储空间,其输入格式为“年-月-日(YYYY-MM-DD)”
  • DATETIME:用于存储混合日期和时间数据,日期和时间数据的范围为1000-01-01 00:00:00至9999-12-31 23:59:59。
    每个 DATETIME类型的数据占用8字节的存储空间,其输入格式为“年-月-日 时-分-秒(YYYY-MM-DD HH:MM:SS)”
  • TIME:用于存储时间数据或持续时间的数据,时间数据的范围为-838:59:59至838:59:59.
    每个TIME类型的数据占用3字节的存储空间,日输入格式为“时-分-秒(HH:MM:SS)”
  • YEAR:用于存储年份数据,年份的取值范围为1901至2155。
    每个YEAR类型的数据占用1字节的存储空间,其输入格式为“年(YYYY)”
  • TIMESTAMP:用于存储混合日期和时间值、时间戳,混合日期和时间数据、时间戳的范围为1970-01-01 00:00:00至2037年的某个时候。
    每个TIMESTAMP类型的数据占用8字节的存储空间,其输入格式为“年-月-日 时-分-秒(YYYY-MM-DD HH:MM:SS)”

④复合类型

  • ENUM('value1','value2',...):用于存储从预先定义的字符集合中选取互斥的数据值,可以有65535个不同的值。
  • SET('value1','value2',...):用于存储从预先定义的字符集合中选取任意数目的值,最多有64个成员。

SQL Server数据类型:
①整数数据类型

  • INT:用于存放-2147483648~2147483647之间的所有正负整数。
    该类型的数据在内存中占用4个字节的空间
  • SMALLINT:用于保存-32768~32767之间的所有正负整数。
    该类型的数据在内存中占用2个字节的空间
  • TINYINT:用于存放0~255之间的所有整数。
    该类型的数据在内存中占用1个字节的空间 !!!注意不包括负数!!!
  • BIGINT用于存放-9223372036854775808~9223372036854775807之间的所有正负整数。
    该类型的数据在内存中占用8个字节的空间

②浮点数据类型

  • DECIMAL[p [s]]:用于存放浮点数据,其精度非常的高,可以保留到浮点数据的最小有效数字,但也有一定的限制。
    p:代表浮点数的总位数,不包括小数点
    s:代表小数点后的位数
  • NUMERIC:与DECIMAL数据类型基本相同
  • REAL:用于存放精度在1~7之间的浮点数。该类型的数据范围是 -3.40E-38 ~ 3.40E+38
  • FLOAT:用于存放精度在8~15之间的浮点数。该类型的数据范围是 -1.79E-308 ~ 1.79E+308

③二进制数据类型

  • BINARY(n):用于存放二进制数据。
    n:表示数据的长度,取值范围为1~8000
  • VARBINARY(n):与BINARY类型基本相同,不同的是该数据类型存放可变长度二进制数据。

④字符数据类型
字符型数据类型是所有数据类型中使用最多的数据类型,它可以用来存储各种字母、数字符号、特殊符号。

  • CHAR:其定义形式为CHAR[(n)]
    以该类型存储的每个字符和符号占1个字节的存储空间。
    n:表示所有字符所占的存储空间,n的取值为1~8000。若不指定n值,则系统默认值为1。
    若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
  • NCHAR:其定义形式为NCHAR[(n)]
    CHAR相似,但不同的是其n的取值为1~4000。
    因为其采用UNICODE字符集,UNICODE标准规定每个字符占用两个字节的空间。
  • VARCHAR:其定义形式为VARCHAR[(n)]
    CHAR相似,但不同的是VARCHAR数据类型具有变动长度的特性,因为VARCHAR数据类型的存储长度为实际数值长度,若输入数据的字符数小于n,则系统不会在其后添加空格来填满设定好的空间。
  • NVARCHAR:其定义形式为NVARCHAR[(n)]
    VARCHAR类型相似,但不同的是其采用UNICODE字符集,n的取值为1~4000。

⑤日期和时间数据类型

  • DATETIME:用于存放日期时间数据,可以说是日期和时间的组合
    其数据格式为“YYYY-MM-DD HH:MM:SS”
    该类型数据的日期时间范围是:公元1753年1月1日0时0分0秒~公元9999年12月31日23时59分59秒,其精度为百分之三秒
  • SMALLDATETIME:与DATETIME类型相似,但是精度只能精确到分钟
    其日期时间范围是:1900年1月1日~2079年6月6日

⑥货币数据类型

  • MONEY:该数据类型是一种特殊的DECIMAL数据,它有4位小数
    其取值范围是:-922337203685477.5808~+922337203685477.5807,数据精度为万分之一货币单位
  • SMALLMONEY:与MONEY类型相似
    但其取值范围是:-214748.3648~+214748.3647

Oracle数据类型:
①字符型数据类型

  • CHAR:用于存放字符串数据,其定义形式为CHAR[(n)]
    以该类型存储的每个字符和符号占1个字节的存储空间。
    n:表示所有字符所占的存储空间,n的取值为1~2000。若不指定n值,则系统默认值为1。
    若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
  • VARCHAR2:用于存放可变长的字符串,具体定义时指明最大长度n,这种数据类型可以存放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n,Oracle会根据数据大小自动调节字段长度,如果数据前后有空格,Oracle会自动将其删去。
  • LONG:用来存放可变长度的字符串数据,最多能存储占用2GB空间的文本数据。但需要注意的是一个表中只能有一个字段可以为LONG类型,并且该类型的字段不能被定义为主键或唯一约束,也不能使用该类型的字段建立索引,过程或存储过程不能接受该类型数据的参数。

②数字数据类型

  • NUMBER:用于存放可变长的数值,允许正负值和0值,格式为NUMBER(P,S)
    P:表示数据的总长度,取值范围位1~38
    S:表示小数的位数,取值范围位-84~127之间的数字
    如:NUMBER(8,2)表示这个字段的总长度为8,可以有2位小数,如果数值超出了位数限制,多余的位数就会被截掉

③日期和时间数据类型

  • DATE:用于存放日期和时间数据
    其取值范围是:公元前4712年1月1日~公元9999年12月31日
  • TIMESTAMP:与DATE基本相同,但不同的是TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点左边最多可以保留9位

④RAW数据类型
此类数据类型主要用于存储二进制数据

  • RAW:用于存放基于字节的二进制数据,最多能存放2000个字节,没有默认大小,所以在使用时要指定大小,可以建立索引。
  • LONG RAW:用于存放可变长度的二进制数据,对多能存放2GB,受的限制和LONG类型一样

⑤LOB(Large Object)数据类型
该类型存储非结构化数据,(如:二进制文件、图形文件或其他外部文件)LOB可以存储到4GB字节大小。

  • CLOB:用于存放大量字符数据,可以存放非结构化的XML文档
  • BLOG:可以存放较大的二进制对象(如:图形、音视频剪辑等数据)
  • NLOG:多字节字符集的CLOB数据类型,可以存放大量的多字节字符对象
  • BFILE:能将二进制文件存放在数据库外部的操作系统文件中,BFILE字段存储一个BFILE定位器,指向位于服务器文件系统上的二进制文件

数据表基础:
①记录和字段

  • 数据表由行和列组成,通常人们将行成为记录,将列称为字段。
  • 每个字段中的数据必须具有相同的数据类型,且每个字段都有字段名。(如:下图中的“学号”、“姓名”都是字段名)
  • 关系数据库中规定,在同一个表内不能有重复的字段。实际上,表内也不应该有重复的记录,只是多数数据库管理系统不会强制这一点。
  • 有些专家认为数据表的行和列,不应该被称为记录和字段,而就应该被称为行(Row)和列(Column)。

②表结构

  • 一个非空数据表实际上由两部分组成,分别是表结构和其内的数据。可以认为,表结构由表中所有字段的字段信息组成,这些信息包括字段名、字段类型、字段大小和字段约束、表约束等信息。
  • 创建一个数据表,其实就是在创建其表结构。因此,在创建表时必须告诉DBMS,表包括哪些字段,每个字段的数据类型和大小等。

E-R模型图:
①合并局部E-R模型图
合并方法有如下图所示两种

所有的局部E-R图一次性合并成初步E-R图,再进行优化与修改得到全局E-R图(麻烦、且易出错不推荐)

先逐步合并部分的E-R图变成初步E-R图,再进行优化与修改得到全局E-R图

规范化与范式:
①规范化

  • 是一种用来产生数据表集合的技术,通过规范化,表将具有符合用户需求的属性。
  • 通常作为对表结构的一系列测试来决定其是否满足和符合给定范式。
  • 数据库逻辑结构设计产生的结果应该满足规范化要求,以使关系模式的设计合理,达到冗余和提高查询效率的目的,所以对数据库进行规范化非常重要。
  • 对数据库的规范化先要确定规范化级别,然后按要求进行并且要达到这一级别。
  • 一般情况下,规范化处理主要进行以下三个步骤:
    Ⅰ.确定数据依赖:通过数据依赖表示出数据项之间的关系。此项工作在需求分析阶段完成。
    Ⅱ.定义键并消除冗余关系:此项工作在概要设计阶段完成。
    Ⅲ.确定范式级别:规范化必须要达到范式级别。

②范式(NF,Normal Form)

  • 是满足一定条件的关系模式。数据库设计的范式有多种,常用的有第一范式(1NF),第二范式(2NF)和第三范式(3NF)。
    ❀第一范式:若关系模式P的所有属性的值域中每个值都是不可再分解的值,则称P为第一范式。第一范式是最低的规范化要求,数据表不能存在相同的记录,需设定一个关键字,并且要求每个字段都不可再分解。
    ❀第二范式:若关系模式P是第一范式,P的表以及每个非主键字段都可以由构成主键的全部的字段得到,则称P为第二范式。第二范式可以消除大量的冗余数据,并对数据表可以进行一场异常的插入和删除。
    ❀第三范式:若关系模式P是第二范式,且每个非主属性都不传递依赖于P的候选键,则称P是第三范式。第三范式的关系不具有多义性,其属性值唯一且每个非主属性必须依赖于整个主键而不能依赖于其他关系中的属性。

表的创建:
①使用CREATE TABLE语句创建表

  • 基本语法格式:(其中[ ]中的为可选项,NOT NULL表示如果某字段后加上该项,则向表添加数据时,必须给该字段输入内容,即不能为空,DEFAULT表示如果在某字段后加上该项,则向表添加数据时,如果不向该字段添加数据,系统化自动使用默认值填充该字段)

    CREATE TABLE `表名` (
    `字段名1` 数据类型 [NOT NULL] [DEFAULT 默认值],
    `字段名2` 数据类型 [NOT NULL] [DEFAULT 默认值],
    ......
    `字段名n` 数据类型 ......
    );
    

②创建带有主键的表

  • 在数据表中能够唯一识别记录的字段,都会被人们设置为主键。
  • 当某一字段被设置成主键后,该字段中就不能再有重复值,也不能有空值,数据库管理系统将强制执行这一规则,这就是主键约束。
  • 在创建数据表时,设置主键的方法有以下两种
    Ⅰ.在某字段后面加上PRIMARY KEY
    CREATE TABLE `表名` (
    `字段名1` 数据类型 PRIMARY KEY[NOT NULL] [DEFAULT 默认值],
    `字段名2` 数据类型 [NOT NULL] [DEFAULT 默认值],
    ......
    `字段名n` 数据类型 ......
    );
    
    Ⅱ.在所有字段后面加上CONSTRAINT NAME PRIMARY KEY(字段名),其中NAME为主键约束名(自定义)
    CREATE TABLE `表名` (
    `字段名1` 数据类型 [NOT NULL] [DEFAULT 默认值],
    `字段名2` 数据类型 [NOT NULL] [DEFAULT 默认值],
    ......
    `字段名n` 数据类型 ......,
    CONSTRAINT NAME PRIMARY KEY(字段名)
    );
    
  • 但如果要创建联合字段为主键(主键有多个字段)的表必须使用第二种方法
    例:主键有两个字段
    CREATE TABLE `表名` (`字段名1` 数据类型 [NOT NULL] [DEFAULT 默认值],`字段名2` 数据类型 [NOT NULL] [DEFAULT 默认值],......`字段名n` 数据类型 ......,CONSTRAINT NAME PRIMARY KEY(字段名1,字段名2));
    

表结构修改:
①使用ALTER TABLE语句修改表结构

  • 使用ALTER TABLE语句可以修改字段的类型和长度,可以添加新字段,还可以删除不需要的字段等。
  • 语法格式:
    Ⅰ.修改字段名:(其中[ ]中的为可选项,但当需要修改的字符类型为带长度的数据类型时必须定义其长度。如:字符类型)
    ❀MySQL和Oracle修改字段名的语法格式如下:

    ALTER TABLE 表名
    MODIFY 字段名 数据类型[(长度)];
    

    ❀SQL Server修改字段名的语法格式如下:

    ALTER TABLE 表名
    ALTER COLUMN 字段名 数据类型[(长度)];
    

    Ⅱ.添加字段:(其中[ ]中的为可选项,但当需要修改的字符类型为带长度的数据类型时必须定义其长度。如:字符类型)

    ALTER TABLE 表名
    ADD 字段名 数据类型[(长度)] [NOT NULL] [DEFAULT 默认值];
    

    Ⅲ.删除字段:

    ALTER TABLE 表名
    DROP COLUMN 字段名;
    

    Ⅳ.更改主键:(其中[ ]中的为可选项,被设置为主键约束的字段必须设置NOT NULL约束)
    ❀添加主键约束:

    ALTER TABLE 表名
    ADD CONSTRAINT 主键约束名
    PRIMARY KEY(字段名1[,字段名2,......]);
    

    ❀更改主键约束:(需要先删除原有的主键约束)

    #删除主键约束
    ALTER TABLE 表名
    DROP PRIMARY KEY;
    #添加新的主键约束
    ALTER TABLE 表名
    ADD CONSTRAINT 主键约束名
    PRIMARY KEY(字段名1[,字段名2,......]);
    

    Ⅴ.查看表结构:

    DESC 表名
    

    Ⅵ.满足以下情况的字段是不可以更改其数据类型的:
    ❀数据类型为TEXTIMAGENTEXTTIMESTAMP的字段
    ❀有UNIQUE约束的字段
    ❀重复的字段
    ❀计算的或用在计算的字段
    ❀用CHECK约束的字段

表删除、截断与重命名:
①删除表
当不再需要数据库中的某表时,就应当删除该表,释放该表所占有的资源。
使用DROP TABLE语句删除数据表,将表彻底删除,语法格式:
(删除时如果失败,一般是因为该表可能与数据库中的其他表存在联系,应该先解除表之间的联系再删除表)

DROP TABLE 表名;

②截断表
若只要删除表内数据而不删除表本身,可以用TRUNCATE语句将表截断,即删除其内的所有数据。
语法格式:

TRUNCATE TABLE 表名;

③重命名表
将表重新命名,语法格式:
❀MysSQL、Oracle中修改表名:

ALTER TABLE 原表名 RENAME TO 新表名;

❀SQL Server中修改表名:

EXEC SP_RENAME 原表名,新表名;

创建与删除数据库:
①创建数据库
CREATE DATABASE语句创建数据库,语法格式:

CREATE DATABASE 数据库名;

②删除数据库
DROP DATABASE语句删除数据库,语法格式:

DROP DATABASE 数据库名;

关于SQL的学习记录(三、数据表)相关推荐

  1. MySQL学习记录 (三) ----- SQL数据定义语句(DDL)

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  2. 在MySQL中如何用SQL命令创建数据库及数据表

    HRELLO 大家好! 上期给大家讲解了,MySQL数据库常用的管理命令.现在,给大家讲解,如何用SQL命令在MySQL中创建一个数据库及数据表. 在学习前,我们首先要了解,SQL命令是什么? SQL ...

  3. SQL SERVER学习记录

    SQL SERVER学习记录 //创建数据库,请先在D盘手动建立一个 backup的文件夹 create database sl on (name = 'sl',filename = 'd:\back ...

  4. SQL语句遍历树结构的数据表

    [转自]:肆尾葱的博客<SQL语句遍历树结构的数据表> 一.创建树结构的数据库表 -- 数据库为 SQL Server create table treeTest(id int,paren ...

  5. 使用SQL语句创建并管理数据表

    数据库创建以后,我们需要创建数据表存储数据,表是一种重要的数据库对象.简单的叙述一下表的概念. 表的概念: 数据表是数据库中一个重要的对象,也是其他对象的基础.一个数据库中可以包含多张表,表是数据的集 ...

  6. 学习Stephen Liu的《SQLite学习手册(数据表和视图)》(一)

    好好学习,day day up.不能再玩了,学习要紧 以下内容主要基于对于Stephen Liu的博文SQLite学习手册(数据表和视图)的学习. 零.准备工作 先把sqlite3.exe的路径添加到 ...

  7. SQL Sever 创建与管理数据表

    目录 一.创建数据表 1.使用SQL Sever Management Studio创建数据表 2.使用CREATE TABLE语句创建数据库 二.管理数据表 1.查看表结构 1.1查看数据表的属性 ...

  8. Kafka学习记录(三)——Broker

    Kafka学习记录(三)--Broker 目录 Kafka学习记录(三)--Broker 对应课程 Zookeeper存储的Kafka信息 Broker总体工作流程 Broker的服役和退役 Kafk ...

  9. bootstrap学习(三)表单

    bootstrap学习(三)表单 基本实例: from-group:可以是其内的标签排列更好 from-control:使标签宽度为100% <form><div class=&qu ...

  10. css学习记录三:文本属性

    css学习记录三:CSS文本属性 一.文本属性的作用 二.文本颜色 三.文本对齐 四.装饰文本 五.文本缩进 六.行间距 一.文本属性的作用 CSSS Text(文本)属性可定义文本的外观,比如文本的 ...

最新文章

  1. java培训要学习多久?
  2. LOJ#510. 「LibreOJ NOI Round #1」北校门外的回忆(线段树)
  3. Qt中的QFontDialog
  4. composer的安装以及laravel项目的生成
  5. 解决新浪微博API调用限制 突破rate_limit_status瓶颈
  6. 使用Hutool来实现深拷贝
  7. eclipse无法创建tomcat7.0的server
  8. Mysql中把varchar类型的字段转化为tinyint类型的字段
  9. [Linux日记]解决Ubuntu升级出现/boot空间不足问题
  10. 404 Note Found 队 Alpha8
  11. 2017程序员综合素质调研测试
  12. 打包或者编译python程序
  13. bt4-pre-final下用spoonwep+spoonwpa破解wep或wpa加密的无线网络
  14. 阿里拍卖全链路导购策略首次揭秘
  15. oracle如何判断节假日,oracle function 用于判断是否为节假日
  16. amoeba mysql读写分离_MySQL和Amoeba实现同步读写分离centos7
  17. java 查询微信支付订单
  18. 【imx6ul】imx6ul上电boot rom启动过程
  19. (Amazon)亚马逊GIF动态验证码识别,95识别率
  20. 【mathtype】将公式左对齐(右对齐)

热门文章

  1. Python-OpenCV之操作像素进行反色(反相)处理
  2. vue中解决模糊搜索输入中文时--未输入完成时触发input事件
  3. 质量保障与管理——各大厂质量保障实践分享汇总
  4. COMSOL案例学习(3):保温杯中的温度分布(含调用.m文件提示“matlab function is not found.“解决办法)
  5. 乘风广告联盟系统 v6.2
  6. 细细品味Hadoop_Hadoop集群精华文档合集
  7. Unknown symbol crc32c
  8. 颜色类中英文词汇大全(4)
  9. 零阶保持器和延时模块的区别
  10. H5网页播放器EasyPlayer.js如何实现直播视频实时录像?