1.SQL
SQL是结构化查询语言,是关系型数据库的操作标准。
2.DDL:数据定义语言
2.1操作库
1.创建库
create database 库名;
2.删除库
drop database 库名;
3.选择库
use 库名;
4.查看所有库
show databases;
2.2操作表
1.创建表
create table 表名(
字段名(列名) 数据类型,
字段名(列名) 数据类型,
...
)
注意:
字段后还有其他字段,必须有逗号
最后一个字段后不允许有逗号
2.删除表
drop table 表名;
3.查看所有表
show tables;
4.查看表结构
desc 表名;
5.查看建表语句
show create table 表名;
6.修改表名
rename table 原表名 to 新表名;
7.修改字段类型
alter table 表名 modify 字段名 新的字段类型;
8.修改字段名字
alter table 表名 change 原字段名 新字段名 新的字段类型;
9.添加新字段
alter table 表名 add 字段名 字段类型; -- 默认添加到末尾
alter table 表名 add 字段名 字段类型 first; -- 添加到头部
alter table 表名 add 字段名 字段类型 after 指定字段名; -- 添加到指定字段的后面
10.删除字段
alter table 表名 drop 字段名;
3.DML:数据操作语言
1.添加数据
insert into 表名(字段名,字段名,...) values(值,值,...);
注意:
1.值的个数与字段个数相同
2.值的类型和字段类型相同
3.值的范围不能超过指定的范围
4.字符类型可以使用单引号或者双引号
5.日期类型可以使用字符类型,'yyyy-MM-dd' "yyyy-MM-dd"
6.为所有的字段添加值,字段名可以省略不写
7.添加部分字段,字段不可以省略,必须手动指定为哪些字段添加值
8.可以一次添加一条数据,也可以一次添加多条数据,数据之间用逗号隔开
2.修改数据
update 表名 set 字段名=新值,字段名=新值,...where 条件
注意:
1.修改时一定要添加条件,否则修改全部
2.字段名=值(常用)
字段名>值
字段名<值
...
3.删除数据
delete form 表名 where 条件;
注意:
1.删除时一定要加条件,否则删除全部数据
删除全部数据:
1.delete from 表名; 一条一条删除
2.truncate table 表名; 复制表结构,创建新表。原表直接删除。
4.SQL中常见的数据类型
1.整数类型:
int(长度限制):
长度限制可指定也可以不指定
指定了长度限制,超过指定的限制,自动扩充
2.浮点类型:
double(m,n)
长度限制需要指定
指定了长度限制,不允许超过指定的限制
m整体的长度
n小数的长度
3.字符类型
char(长度限制):
长度限制需要指定
指定了长度限制,不允许超过指定的限制
直接分配指定空间
varchar(长度限制):
长度限制需要指定
指定了长度限制,不允许超过指定的限制
根据内容动态分配空间
4.日期与事时间类型:
date:日期
datetime:日期+时间
timestamp:日期+时间
now() 和 sysdate() 是日期函数,获取系统当前日期
5.表的约束
为表中的字段添加约束,添加约束后保证表中数据的有效性,完整性
5.1主键约束(primary kay)
非空+唯一(不能为空且不能重复)
注意:一个表中只能存在一个主键约束
1.添加主键约束
1.创建表时添加主键约束
create table(
字段名 字段类型 primary key,
...
)
create table(
字段名 字段类型,
...,
primary key(字段名)
)
2.创建完成的表添加主键约束
alter table 表名 add primary key(字段名);
2.删除主键约束
alter table 表名 drop primary key;
alter table 表名 modify 字段名 字段类型;
3.主键自增:没有指定主键值,使用自增策略,指定了主键值,使用指定的
primary key auto_increment
5.2非空约束
添加非空约束
create table(
字段名 字段类型 not null,
...
)
添加非空约束后该字段不能为空
5.3唯一约束
添加唯一约束
create table(
字段名 字段类型 unique,
...
)
添加唯一约束后该字段不能重复
5.4默认值约束
添加默认值约束
create table(
字段名 字段类型 default '值',
...
)
添加默认值约束后该字段如果是default则为默认值'值', 如果指定,就为指定值
5.5检查约束
添加检查约束
字段名 字段类型 check(字段='值' or 字段='值')
字段名 字段类型 check(字段>n or 字段<m)
字段名 字段类型 check(字段>n and 字段<m)
添加检查约束后该字段的值必须符合检查约束的要求