阅读MySQL语法时,需要注意的规则:

符号用来指出几个选择中的一个,比如:null | not null表示或者给出null或者给出not null;

包含在方括号中的关键字或子句(如[like this])是可选的;

既没有列出所有的MySQL语句,也没有列出每一条子句和选项。

一、常用语法

1、alter table:更新已存在表的模式

alter table tablename

(      add column datatype [null | not null] [constarints],

change column columns datatype [null | not null]  [contarints].

drop column,);

2、commit:将事务处理写到数据库

commit;

3、create index:在一个或多个列上创建索引

create index indexname on tablename (column  [asc | desc],...);

4、create procedure:创建存储过程

create procedure procedurename( [parameters] )  begin ...... end;

5、create table:创建新数据库表

create table tablename

(         column datatype [null | not null] [constraints],

column datatype [null | not null] [constraints],

......);

6、create user:向系统中添加新的用户账户

create user username[@hostname]

[identified by [passwrod] 'password'];

7、create view:创建一个或多个表上的新视图

create [or replace] view viewname as select ...;

8、delete:从表中删除一行或多行

delete from tablename [where ...];

9、drop:永久删除数据库对象(表、视图、索引等)

drop database | index | procedure | table | trigger | user | view itemname;

10、insert:给表增加一行

insert into tablename [(columns,...)] values(values,...)

11、insert select:插入select结果到一个表

insert into tablename[(columns,...)]

select columns,... from tablename,...

[where ...];

12、rollback:撤销一个事务处理块

rollback [ to saveprointname];

13、savepoint:为使用rollback语句设立保留点

savepoint sql;

14、select:从一个或多个表(视图)中检索数据

select columnname,... from tablename,...

[where ...]

[union ...]

[group by ...]

[having ...]

[order by ...]

15、start transaction:一个新的事务处理块的开始

start transaction;

16、update:更新表中的一行或多行

uptable tablename set columname = value, ... [where ...];

二、数据类型

数据类型:定义列中可以存储什么数据以及该数据实际怎样存储的基本规则,其用于以下几个目的:

①允许限制可存储在列中的数据

②允许在内部更有效的存储数据

③允许变换排序顺序(作为数值数据类型,数值才能正确排序)

1、串数据类型

该类型为最常用的数据类型,用来存储串(比如名字、地址等);有两种串类型,分别是定长串和变长串

定长串:接受长度固定的字符串,其长度实在创建表时指定的;定长列不允许多余指定的字符数目,它们分配的存储空间与指定的一样多(比如char)

变长串:存储可变长度的文本,有些变长数据类型具有最大定长,有些是完全变长的,不论哪种,指定的数据得到保存即可(灵活)

PS:MySQL处理定长列比变长列快速的很多,且MySQL不许云对变长列(或一个列的可变部分)进行索引

串数据类型表:

PS:①不管是用任何形式的串数据类型,串值都必须括在引号内(通常使用单引号)

如果数值是计算(求和平均等)中使用的数值,应存储在数值数据类型列中;如果作为字符串(可能只包含数字)使用,则应保存在串数据类型列中;

2、数值数据类型

数值数据类型存储数值,MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围;

数值数据类型表:

PS:所有数值数据类型(除bit和bollean)都可以有符号或者无符号,有符号数值列可以存储正或负的数值,无符号数值列只能存储正数,默认情况为有符号(与串不同,数值不应该在括号内)

 

3、日期和时间数据类型

日期和时间数据类型表:

4、二进制数据类型

二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等

二进制数据类型表:

MySQL(六)常用语法和数据类型的更多相关文章

  1. mysql基础之基本数据类型

    原文:mysql基础之基本数据类型 列类型学习 mysql三大列类型 整型 Tinyint/ smallint/ mediumint/int/ bigint(M) unsigned zerofill ...

  2. (1.1)mysql 选择合适的数据类型

    (1.1)mysql 选择合适的数据类型 1.char与varchar [1.1]char 在内容未满定义长度时,做空格填充,且字符串末尾空格会被截断:超出定义长度也会被截断.  如:char(4)  ...

  3. DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比

    随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...

  4. (2.5)Mysql之SQL基础——数据类型

    (2.5)Mysql之SQL基础——数据类型 关键词:mysql数据类型 目录: 一.整数型 二.小数型(以下均不能使用无符号) 三.日期时间型 四.字符串型 一.整数型 额外参数示例: int [( ...

  5. Mysql的三种数据类型

    Mysql的三种数据类型 1.数值类型 2.日期和时间类型 3.字符串类型 00x1 [数值类型] 00x2 [日期和时间类型] 00x3 [字符串类型]

  6. mysql数据库,当数据类型是float时,查询居然查询不出数据来

    mysql数据库,当数据类型是float时,查询居然查询不出数据来,类似如下: 以后mysql数据库不用float类型,而double类型可以查得出来.

  7. mysql六:索引原理与慢查询优化

    一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...

  8. MySQL之表的数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  9. 【Python】(六)Python数据类型-列表和元组,九浅一深,用得到

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文分十个章节介绍数据类型中的列表(list)和元组(tuple),从使用说到底层实现,包您满意 干货满满,建议收藏,需要用到时常看看. 小伙伴们 ...

随机推荐

  1. vue项目未加载完成前显示loading...

    1.在Index.html里面加入loading的元素,让loading元素显示,让app元素隐藏 <!DOCTYPE html> <html> <head> &l ...

  2. MySql Host is blocked because of many connection errors; unblock with 'mysqladmi

    原因: 同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞: 解决方法: 1.提高允许的max_connection_e ...

  3. 从输入url到页面展示到底发生了什么

    阅读目录 1.输入地址 2.浏览器查找域名的 IP 地址 3.浏览器向 web 服务器发送一个 HTTP 请求 4.服务器的永久重定向响应 5.浏览器跟踪重定向地址 6.服务器处理请求 7.服务器返回 ...

  4. Jmeter进阶篇之监控服务器cpu,内存

    对于Jmeter,可以不再赘述,因为介绍得也够多了. 那么相信有部分同学已经尝试着自主去学习如果使用Jmeter对服务器进行压力测试了. 但是可能也会发现,Jmeter好像监控不了服务器的cpu已经内 ...

  5. HBuilder离线打包启用Chrome Inspect调试

    解决方法: 修改这个文件 assets/data/dcloud_control.xml <msc version="1.9.9.39354" debug="true ...

  6. Expo大作战(三十一)--expo sdk api之Payments(expo中的支付),翻译这篇文章傻逼了,完全不符合国内用户,我只负责翻译大家可以略过!

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. recovery uncrypt功能解析(bootable/recovery/uncrypt/uncrypt.cpp)

    我们通常对一个文件可以直接读写操作,或者普通的分区(没有文件系统)也是一样,直接对/dev/block/boot直接读写,就可以获取里面的数据内容了. 当我们在ota升级的时候,把升级包下载到cach ...

  8. 自己写bitmap

    备注:1.原创文章,转载请标明出处: 2.欢迎建议和意见 3.我的实现是C语言,为了保护公司隐私,下述数据类型被我改了.实际上int应改是无符号4个字节的类型,byte是有符号1个字节,才能保证移植性 ...

  9. 《R数据挖掘入门》彩色插图(第8章)

    图8.4 图8.5 图8.6 图8.7

  10. python第六十八天--第十二周作业

    主题: 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条 ...