MySQL基本语法程序员培养之路第二

2023-3-9 来源:不详 浏览次数:

第一节SQL语句简介

SQL语言

SQL(StructuredQueryLanguage)是用于访问和处理数据库的标准计算机语言。使用SQL访问和处理数据系统中的数据,这类数据库包括:Oracle,mysql,Sybase,SQLServer,DB2,Access等等。

mysql

基本规范

  SQL对大小写不敏感,一般数据库名称、表名称、字段名称全部小写

  MySQL要求在每条SQL命令的末端使用分号(MSAccess和SQLServer,则不必在每条SQL语句之后使用分号)。

注释

mysqlselect1+1;#这个注释直到该行结束mysqlselect1+1;--这个注释直到该行结束mysqlselect1/*这是一个在行中间的注释*/+1;mysqlselect1+/*这是一个多行注释的形式*/

数据库

第二节MySQL基本数据类型

字段类型

数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储方式,代表了不同的信息类型。不同的数据库,数据类型有所不同,MySQL数据库有以下几种数据类型:

字符串型

类型  字节  大小  说明

char  1  0-字符(2^8)  定长字符串

varchar  2  0-字符(2^16)  变长字符串

tinytext  1  0-字符(2^8)  短文本(与char存储形式不同)

text  2  0-字符(2^16)  文本

mediumtext  3  0-字符(2^24)  中等长度文本

longtext  4  0-字符(2^32)  极大文本

注意:char和varchar需要指定长度,例如:char(10)

整数型

类型  字节  范围(有符号)  范围(无符号)  用途

tinyint  1  (-,)  (0,)  很小整数值

smallint  2  (-,)  (0,)  小整数值

mediumint  3  (-,)  (0,)  中整数值

int或integer  4  (-,)  (0,)  整数值

bigint  8  (-,)  (0,)  很大的整数值

很多人喜欢在定义数据时,这样写:

createtabletbl_name(ageint(10));

int后面()中的数字,不代表占用空间容量。而代表最小显示位数。这个东西基本没有意义,除非你对字段指定zerofill。mysql会自动分配长度:int(11)、tinyint(4)、smallint(6)、mediumint(9)、bigint(20)。所以,建议在使用时,就用这些默认的显示长度就可以了。不用再去自己填长度(比如:int(10)、tinyint(1)之类的基本没用)。

code

浮点型

类型  字节  范围  用途

float(M,D)  4  23bit(约6~7位10进制数字)  单精度浮点数br/值绝对能保证精度为6~7位有效数字

double(M,D)  8  52bit(约15~16位10进制数字)  双精度浮点数值br/精度为15~16位有效数字

decimal(M,D)  M+2  依赖于M和D的值  定点型

M(精度),代表总长度(整数位和小数位)限制

D(标度),代表小数位的长度限制。

M必需大于等于D

数字的修饰符  功能  说明

unsigned  无符号  非负数

zerofill  前导0  整形前加0(自动添加unsigned)

日期型

类型  字节  范围  格式  用途

date  3  -01-01----12-31  YYYY-MM-DD  日期值

time  3  -:59:59---:59:59  HH:MM:SS  时间值或持续时间

year  1  ---  YYYY  年份值

datetime  8  -01-:00:00----12-:59:59  YYYY-MM-DDHH:MM:SS  混合日期和时间值

timestamp  4  -01-:00:00/结束时间是第秒,北京时间-1-:14:07,格林尼治时间年1月19日凌晨03:14:07  YYYYMMDDHHMMSS  时间戳,混合日期和时间值

开发

列举与枚举

名称  字节  说明

set  1、2、3、4或8  列举:可以取SET列表中的一个或多个元素(多选)

enum  1或2  枚举:可以取ENUM列表中的一个元素(单选)

createtablestudents(idtinyint,#微小整型namevarchar(10),#变长字符sexenum(m,w),#单选birthdaydate,#日期型telchar(11),#定长字符citychar(1),#城市hobbyset(1,2,3,4),#多选introduce  text#个人介绍);

字段属性

属性  功能  说明

notnull  非空  必须有值,不允许为null

default  默认值  当插入记录时没有赋值,自动赋予默认值(允许为null)

primarykey  主键  惟一标识一行数据的字段(主键自动为notnull)

auto_increment  自动增量  不能单独使用,必须与primarykey一起定义

unique(uniquekey)  唯一  记录不能重复(一张表可以有多个unique,允许为null)

云计算

第三节数据的增、删、改

增删改查(简称:CURD)

#方法1:指定字段

insertintostudents(name,age)values(张三,20);

#方法2:省略字段名,字段位要一一对应,不能跳过(auto_increment字段,可以使用null或default)

insertintostudentsvalues(null,张三,20);

#方法3:批量增加数据

insertintostudents(name,age)values(张三,20),(李四,21),(王五,22)……

#用delete删除记录,一定要加where条件,否则表数据全部删除!!

deletefrom表名wherexx=xxx;

数据库语句

#用truncate删除记录,不能加where条件,直接删除全部记录,id索引重新从1开始

truncatetable表名;

#单条修改

update表名setxx=xx,xxx=xxwherexxx=xxxandxxx=xxx;

#多条修改

updatestudentssetname=caseid#id字段when1thenzhangsanwhen2thenlisiwhen3thenwangwuwhen4thenzhaoliuend,city=caseidwhen1then2when2then4when3then1when4then2endwhereidin(1,2,3,4);

转载请注明:
http://www.wanruiguanye.com/bzys/77435470.html
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: