数据类型种类
整形:可以有十进制和十六进制表示
符点形:浮点数由一个数字加一个小数点再加上一个数字组成。两个数字序列不能同时为空。
字符串:由单引号或者双引号括起来的字符或者数字,字符串中要用转义字符才能表示的特殊符号。
日期和时间的值:列如2005-05-3012:30:25日期是按年-月-日
NUUL值:是一种无类型的值,表示“空,什么也没有”。
____ MysqL-h主机名-u用户名-p密码//MysqL登陆运行命令 DML数据操作语言
select查询select字段名,字段名,...()from表名where子句
查询select字段名,...()from表名where子句单价》500的limit3前3条
select*fromkehu,yewuyuanwhereye_id=ke_id;查询所属业务员客户的ID
insert插入insertintobadwolf(bad_id,bad_name)values(3,'badbird');插入
update修改updatebadwolf(表名)setbad_name(列名)='badwolf';
updatabadwolf(表名)setbad_name列名='alex'值wherebad_name='badbird';
delete删除deletefrombadwolf(表明)wherebad_id=2;
DCL数据控制语言
grant控制存取许可
revoke存取权限
ddl数据定义语言
createtable创建数据表createtable库名;
droptable数据库对象
altertable定义其列
MysqL输入一个语句结尾时,末尾要有;号。->意为本语句没有输完等待继续输入。\c用来取消输入。
/////////////////////////////////////////////////////////////////////////
数值类型
TINYTIN非常小的整数BIGINT大整数
SMALLINT较小的整数FLOAT单精度浮点数
MEDIUMINT中等大小的整数DOUBLE双精度浮点数
INT标准整数DECIMAL一个串的浮点数
CHAR定长字符串VARCHAR可变长字符串
TINYBLOB非常小的BLOBBLOB小BLOB
MEDIUMBLOB中等BOLBLONGBLOB大BLOB
TINYTEXT非常小的文本串TEXT小文本串
MEDIUMTEXT中等文本LONGTEXT大文本串
ENUM枚举:列可赋予某个枚举成员
SET集合:列可赋予多个集合成员 auto_increment自动标识列
对于想使用此属性的列应该定义为NOTNULL,并定义为PRIMARYKEY或者定义为UNIQUE键。
unsigned无符号,此属性禁用负值,是将数值的取值范围从零开始,即前移了取值范围而已.
/////////////////////////////////////////////////////////////////////////////////// 创建数据库
createdatabase库名;创建一个指定名称的数据库
例如:createdatabasebook;创建了一个名为book的数据库 showdatabase列出服务器中可用的的数据库
showtable显示数据库的清单 use库名选择使用数据库例如:usebook; notnull非空primarykey主键auto_increment自增 常见的完整性约束
primarykey主码约束(主键)主码就是主关键字,能唯一标示字段属性
unique唯一约束在一个字段或者一组字段里数据与表中其它行的数据相比是唯一的
notnull非空值约束
auto_increment整数列自增1
default_value默认值约束 显示结构操作
database表名
desc表名 删除数据库或表操作
droptable表名删除表droptableifexistsbadbird;加ifexists删除不存在表名不会出错
dropdatabase库名删除库同上加ifexists不会出错
////////////////////////////////////////////////////////////
更改表结构操作 语法:altertable表名action;
说明:action可以是如下语句:
add列名<建表语句>[first|after列名]
addprimarykey(列名)为表添加一个主键,如果主键已经存在,则出现错误
alter列名setdefault默认值可以更改指定列默认值
----------------------------------------------------------
latertable表名add插如列的名varchar(属性)first(之前)|after(之后)增加列名
change旧列名新列名<建表语句>[first|after列名]
可以更改列类型和列名称,如果原列的名字和新列的名字相同,则change和modify的作用相同
-----------------------------------------------------------
modify列名<建表语句>[first|after列名]
更改列属性:altertablebadbird(表名)badtitle(列)modifvarchar(属性);
更改列名:altertablebadbird(表名)changebadtitle(列)bad_sad(改的名)varchar(属性)notnull(no空);
drop列名//可以删除一列
dropprimarykey//可以删除主键
dropindexindex_name;//可以删除索引
删除列:altertablebadbird(表名)dropbadtitle;
renameas新表名//可以将表名更改
更改表名:altertablebadbird(表名)renamebadwolf(表名); 插入记录操作
语法:
insertinto表名(字段名,...)values(字段值,字段值,...);
例如:insertintobadwolf(bad_id,'badbird');插入
如果表名后面没写字段名,则默认是向所有的字段添加值,另外字符串值应该用‘'或“”引号括起来
多条添加:insertintobadwolfvalues(1,'badbird'),(2,(4,'badbird'); 更改记录操作
语法:
update表名set列名=数据值where子句;
例如:updatebadwolf(表名)setbad_name(列名)='badwolf';
------------------------------------------------------------------
where子句是判断语句,用来设定条件,限制只更新匹配的行,如果不带where子句,则更新所有行数据
删除记录操作语法:deletefrom表名where子句;
例如:deletefrombadwolf(表明)wherebad_id=2;判断删除所有id=2的值判断条件可以附加 null和notnull
缺省为null(空)即插入值时没有在此字段插入值,默认为NULL值.
如果指定了NOTNULL,则必须在插入值时在此字段添入值,不允许插入NULL值。
default通过此属性来指定缺省值,如果没有添加值则默认此值。
zerofill前导零填充数值类型以达到列的显示宽度。
例如:createtablebadbird(
badint,
badunsigned,(无符号,将数值的取值范围从零开始)
badunsignedzerofill,(无符号,将数值的取值范围从零开始|前导零填充数值类型以达到列的显示宽度)
badunsignedzerofill,(无符号,将数值的取值范围从零开始|前导零填充数值类型以达到列的显示宽度)
);
insertintobadbirdvalues(10,10,10);
结果:10,0000000010,0000000010。整形获取值为10,从零开始获取也是10,从零开始以0做填充
insetrintobadbirdvalues(-10,-10,-10);
结果:-10,0,0000000000,0000000000。整形获取值为10,从零开始,从零开始以0做填充
insertintobadbirdvalues(2147483647,2147483647,2147483647)
结果:2147483647,2147483647。整形获取值为10,从零开始获取也是10,从零开始以0做填充无填充
insertintobadbirdvalues(3004005006,3004005006,3004005006);
结果:2147483647,3004005006,3004005006,3004005006。int标准整形最大值 字符串列类型的属性
binary
使用此属性可以使列值作为二进制串处理,即比较和排序时区分大小写。
NOT和NOTNULL
同数值型功能相同
default
同数值型功能相同 日期和时间列表
dateYYYY-MM-DD格式表示日期值3字节
timehh:mm:ss格式表示时间值3字节
datetime时间-日期8字节
timestamp时间戳4字节时间戳=MysqL的时间戳是1970年到至今的豪秒数
tyarYYYY年份1字节
now()函数自动获取本地时间 MysqL算术运算符
+加-减-负乘/除%取余
如果第一位是数字的字符串被用于一个算数运算中,那么它被转换为这个数字的值。
如果一个包含字符和数字混合的字符串不能被正确的转换为数字,那么它被转换成0。 MysqL比较运算符
and并且
or或
=两个操作数相等为true
!=|<>两个操作数不等为true
<<=>>=不用解释你要不知道我也没办法
in如果a为b1,b2中的任何一个为true
between如果A的值在b1与b2之间包括等于b1b2为trueb1必须比b2大
like模式匹对如果a匹对b为true
notlike模式匹对如果a不匹对b为true
regexp同like
notregexp同notlike
<=>a<=>b如果两者操作数相同即使null为true
isnull如果操作数为null为true
isnotnull如果操作数不为空为true
再次声明MysqL不区分大小写 %号表示以A开头任意后缀结尾
_号表示A开头后缀任意字 查询记录操作
语法:
select字段名,...()from表名where子句groupby子句having子句orderby子句limit子句desc(asc) groupby子句是对匹配where子句的查询结果进行分组
having子句是对分组后的结果进行条件限制
orderby子句是对查询结果结果进行排序,后面跟desc或asc。
limit子句是对查询的显示结果限制数目
desc是将最终结果进行降序排列,asc是将最终结果进行升序。
例如:select*frombadbird(表名)wherefi=10条件;