DDL:
创建数据库:create database + 数据库名字
使用数据库:use + 数据库名字
删除数据库:drop database +数据库名字
创建表create
table + 表名 (
列,
...
)engine=innodb charset=utf8;
drop table
+ 表名;
alter table
+ 表名 add 列,...;
主键创建好了之后,系统会自动设置一个主键约束
检查约束
auto_increment :自动编号列
组合键:就是一个表中有两个主键,一般定义在最下面
唯一约束:设置了之后它就唯一存在,不能有重复的
修改表:alter
table + 表名 :改变,增加...
外键:外键也就是另一个表的主键,先在要定义外键的表中
创建一个关系名,再用增加约束从含有主键的个表中把主键传进来...
DML:
insert into
,update ,delete
添加新数据:insert
into + 表名 + 列名 values (值列表);
select
now(); 查询当前时间
表数据的复制:
创建复制表时;能复制非空约束,列名,列的类型;但是(主键,约束不再有)
当复制表时,条件为假是;只复制表的结构,不复制表的数据
更改已有的数据:update + 表名 set + 新列表 + where(过滤条件);
delete from
+ 表名+where(过滤条件);只是删除表中的数据,而不是表的结构
truncate
删除表中的所以数据,不再留下日志 自动编号列 会恢复到最初
查询:select *
from + 表名 + where(过滤条件)
"*"代表所以的数据列
别名:创建表的别名:方便录入数据
select
p.f_name,p.f_birthday
from + 表名+p;
列别名:p.f_name as
列的名字(自定义);方便用中文 看列的含义
length() 字符串长度函数;mod(m,n)
取模函数
distinct: 排除重复的数据
使用limit 进行分页
select * from
t_person limit n; 带一个参数
n(n>0),显示前面的n条语句
如果带两个参数(m,n)
从m+1 开始显示n条语句
不等于的新表示: ^= ,<>;
选择查询:
select 列,... from + 表名 + where
条件过滤
执行范围查询: select 列
from 表 where
列 between
下限 and 上限;
固定列: select 列 from + 表名 +
where 列 + in(列序号,...);
模糊查询 select * from + 表名 + where
列 like '("%"代表随便多少个存在的数据,"_"代表一个随便存在的数据)';
is null 是空
is not null 缺点(查询时间长)
order by 排序: 默认升序 表示(asc), 降序(desc)
基本查询语句的执行顺序:
1.from 取数据
2.where 筛选数据
3.select 映射数据
4.order by 执行排序
个人感觉:感觉作为一个程序员 用数据库,主要是进行
查询语句;这就和说话一样。不一样的话,效果不一样;同样是那几个汉字;以不同方式组合;说出来的效果就不一样;千变万化。感觉呢;就是要多练;练多了就熟悉了。操作起来就很顺手。