一、mysql 语法规范
1、不区分大小写,但建议关键字大写,(表名、列名小写,关键字不区分,表、列不区分)
mysql 默认数据不区分大小写。
2、每条命令用英语分号结尾。
3、注释:
单行注释:#注释文字
单行注释:-- 注释文字 注意!!!-- 后面必须加空格。
多行注释:/* 注释文字 */
二、创建数据库
1、创建数据库
create database 数据库名;
2、查看数据库
show databases;
3、删除数据库
drop database 数据库名;
三、创建表
1、mysql常用的数据类型
整数类型 | 浮点数类型 | 字符串类型 | 日期类型 |
int,tinyint | float,double,decimal,numeric | char,varchar | date,datetime |
tinyint:取值范围是-128到127。
int:范围是-2147483648到2147483647
numeric:代表整数和小数的位数之和;scale,代表小数的位数
char:定长字符串。存定长,速度快,存在空间浪费的可能,会处理尾部空格,上限255
varchar:可变长度字符串。存变长,速度慢,不存在空间浪费,不处理尾部空格,上限65535
date:只有日期部分,没有时间部分
datetime:时间格式为 YYYY-MM-DD hh:mm:ss,默认精确到秒
timestamp:把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储
2、约束管理
主键约束 primay key 唯一性,非空性
唯一约束 unique 唯一性,可以为空
检查约束 check 对该列数据的范围、格式的限制 mysql不实现
不能为空 not null 对数据不能为空
外键约束 foreign key 需要建立两表见的关系并引用主表的列
auto_increment 自增长
例:
create table 表名
(
字段名 数据类型 约束管理,
字段名 数据类型,
……,
);
create TABLE t_student
(
sid int(8) not null primary key auto_increment,
sname varchar(20) not null,
ssex char(2),
sbirthday datetime
);
3、表修改
修改表名:alter table 原表名 as 新表名;
为表添加字段:alter table 表名 add 字段名 数据类型;
修改表字段修改类型:alter table 表名 modify 字段名 数据类型;
修改表字段名: alter table 表名 change 原字段名 新字段名;
删除字段:alter table 表名 drop 字段名;
4、表删除
drop table [if not exists] 表名;
四、增、删、改
1、新增语法
1)insert into 表名 (字段1,字段2,……) values('值1','值2',……);
指定插入的字段行进行新增,要求字段与字段值必须对应。
2)insert into 表名 (字段1,字段2,……) values('值