设为首页 加入收藏

TOP

SQL语言与MySQL列类型
2015-07-24 10:48:30 来源: 作者: 【 】 浏览:3
Tags:SQL 语言 MySQL 类型
一、SQL简介 1.SQL语言 结构化查询语言SQL(Structured Query Language)是一种它是一个综合的、通用的、功能极强同时又简洁易学的语言,是使用关系模型的 数据库应用语言。SQL语言集数据查询(data query)、数据操纵(data manipulation)、数据定义(data definition)和数据控制(data control)功能于一体,充分体现了关系数据语言的特点和优点。 2.SQL语句分类 (1)DDL(Data manipulation language)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据对象,常用的语句关键字主要包括create、drop、alter等。 (2)DML(Data manipulation language)语句:数据库操作语句,用于添加、删除、更新和查询数据库纪录,并检查数据库的完整性。常用的语句关键字主要包括insert、delete、update、select等。 (3)DCL(Date Control Language)语句:数据库控制语句,用户控制不同的数据段直接的许可和访问级别的语句。这些语句定义了数据库、表字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revike等。 注释:DDL是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改等操作的语言。它和DML语句的最大区别就是DML只是对内部数据操作,而不涉及表的定义、结构的修改,更不涉及其他对象。DDL语句更多的有数据库管理员(DBA)使用,开人员一般很少使用。 3.SQL基本语句 (1)库的基本操作 ◆连接数据库(针对MySQL) 命令:mysql -h[IP地址/主机名] -u[用户名] -p[密码] 说明:-h host主机(远程MySQL服务器IP地址) -u 用户名 -p 密码 ◆查看数据库
命令:show databases; ◆创建数据库
命令:create database [新建数据库的名称]; ◆选择数据库
命令:use [数据库名称]; ◆删除数据库
命令:drop database [删除数据库名称]; (2)表的基本操作 ◆查看当前库中的表
命令:show tables; ◆创建表
命令:create table [创建的表名] ( [列(字段)名1] [列类型] [约束条件] [默认值] , [列(字段)名2] [列类型] [约束条件] [默认值] ................... )engine = 存储引擎 charset = 字符集; 注意:创建表前必须进入到数据库中或者指定在哪个库中进行创建。 ◆查看表的定义
命令:desc [表名]; 或者 select * from [表名]; ◆查看表的创建过程
命令:show create table [表名] \G; ◆删除表
命令:delete [表名]; ◆修改表(表中的字段类型、字段名、添加字段、删除字段、修改表名)
①修改表中字段属性(不能修改字段名) alter table [表名] modify [字段名] [字段类型] [约束条件] [fisrt|after 列名]; ②修改表中字段名及属性 alter table [表名] change [源字段名] [修改后的字段名] [字段类型] [约束条件] [fisrt|after 列名]; ③增加表字段 alter table [表名] add [字段名] [字段类型] [约束条件] [first|after 列名]; ④删除表字段 alter table [表名] drop [字段名]; 注意:[first|after 列名],用于修改字段的排序,其中,after将新增的字段添加在某一字段后;first表示将新建的字段放在该表第一列。 ◆修改表名
命令:alter table [表名] rename to [新表名];
二、MySQL简介
1.MySQL简介 MySQL是一个小型关系型数据库管理系统,为一款著名、应用最广泛的开源数据库软件,MySQL的特点有:(1)适用于中小规模、关系型数据库系统;(2)支持Linux/Unix,Windows等多种操作系统;(3)使用C和C++编写,可移植性强; (4)通过API支持Python/Java/Perl/ PHP等语言。典型的应用环境为:与Apache HTTP Server组合的LAMP平台或者与Nginx组合的LNMP平台。 \
2.MySQL默认库 (1)information schema 虚拟库 用于保存当前数据库服务器已有库和表的统计信息,不占用物理磁盘空间其内的数据保存在系统内存里。 (2) mysql 授权库 保存用户的授权信息,占用物理磁盘空间 (3)performance schema 保存数据服务器,运行时的运行参占用物理磁盘空间 (4)test 公共库 任意一个用户连接到数据库服务器后,对此库都拥有完全权限占用物理磁盘空间
\
三、MySQL列类型 1.数值型(整型列,浮点型列) (1)整型列:tinyint、smallint、mediumint、int、bigint a)整型列存储范围与所占空间(1字节=8位) \
b)整型列的可选属性 tinyint(M) unsigned zerofill M:宽度,一个1到255 的整数,它表示用来显示列中值的字符数。(在0填充的时候才有意义) unsigned:无符号类型(非负) zerofill:0填充(默认无符号) (2)浮点型与定点型 a)浮点型:float(M,D) b)定点型:decimal(M,D) 其中,M表示精度(总位数,不包含点);D表示标度(小数位数),decimal更高精度 2.字符串类型 在字符长度一定时char的性能比varchar好,而在长度不确定时,char类型的字段在使用时性能略差。 (1)char(M)与Varchar(M)区别 ★char的长度是固定的,可存储的字符数(M<=255);varchar(M)的长度是可以变化的,可存储的字节数(M<=65535)。 比如,存储字符串“abc",对于char (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的varchar(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。由于char是以固定长度的,所以它的速度会比 varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉! ★char的效率比varchar的效率稍高; varchar比char节省空间,即要想获得效率,就必须牺牲一定的空间。 ★char(M)实占M个字符,不够M个,右侧补空格,取出取出右侧空格;varchar(M)有1-2个字节来标记真实的长度。 (2)时间戳 我们在开发中,精确到秒的时间表示方式不是用datetime,而是用int来表示时间戳,用时间戳方便计算并方便格式化成不同的显示样式。 \

3.时期时间类型 \
注意:特殊的NULL类型 ◇NULL 不是假,也不是真,而是"空" 任何运算符, ◇判断符碰到NULL,都得NULL ◇ NULL的判断只能用is null,is not null ◇NULL 影响查询速度,一般避免使值为NULL
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Excel使用ADO调用SQLServer存储过.. 下一篇使用dbms_lob.compare比对lob字段

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)