郑学馨
主要学习SQL语句:
什么是DML:DML是指数据操作语言
select:获取---delete:删除---update:更新---insert into:插入
什么是DDL:DDL是指数据定义语言
sql语句的学习:
什么是约束:用来保证数据的完整性(保证一些重要的数据不出现重复,这样在查找时就可以进行精确查找)
主键约束:primary key :唯一的,非空;唯一约束:unique
id int primary key auto_increment:
表格列名:id; 列名为id的这一列起名都要是int类型才可以;primary key:约束类型是主键约束,说明每行的id名都是唯一的,不能为空.auto_incrament:是用于主键自动增长的,从1开始增长,当你把第一条记录删除时,再插入第二行数据时,主键值是2,不是1。
sql数值类型:byte--tinyint;short--smallint;int--int;long--bigint;float;double;*decimal();
sql日期和时间类型:date:日期;time:时间;year:年;datetime:日期+时间;timestamp:时间加日期(默认系统当前时间)(注:datatime与timestamp的区别!)
sql字符串类型:*char与varchar:即可表示字符也可以表示字符串;char(length);表示固定长度的字符串,如果实际字符串长度少于这个值,这剩余长度会用空格填充,varchar:则是实际多长,length就多长.*blob与text:bolb:字节字符串;text:字符字符串
注意:in 的用法.(7,10)并不是代表7,8,9,10而只是代表7,10而
已
排序的关键字:order by:注意;order by 只能用在最后(wherez
之后)
升序:asc 的用法:
降序:desc 的用法:
例如:select * from 表名 order by 列名 升序/降序;
聚合函数:avg();sum();count();min();max();ifnull(列名,0);
注意:ifnull的用法:ifnull:表示如果结果是null 则用0代替;
分组查询:group by;
用法:对于同一列中出现相同的值,可以按照这一列对table进行
分组;
条件过滤:having==where:having是在进行分组之后使用的
如何区别SQL的分类;
DDL:操作对象---数据库:create创建数据库/alter 修改/drop
删除;
DML:操作对象---表:update更新表内数据/delete:删除/insect
into:插入
DCL:操作对象---数据库;权限设置的(不常用)
DQL:操作对象---表:查询表中的内容:select/from/where.....
*数据库的增删改查:create database 名字 character set 字
符集 collate 字符集校对(用可视化工具操作比较简单!!!) /
drop database 名/alter database 名 character set 字符集
collate 校对规则/show databases/ use 数据库名:使用数据库
;
*表的增删改查:如何创建表:create table 名(名 名的类型,名
名的类型,名 名的类型.....)/查看数据库中有哪些表(不是表中
的内容):show tables,查看表的结构:desc table 名;/删除
表:drop table 名;/
(重要)修改表:关键字;alter;
1:表中添加列:alter table 名 add 名 数据类型 ;
理解:这句SQL语句可以分为两部分来理解:
一是确认修改的表,表名叫啥:alter table 名:修改 表 表名(
修改表名叫什么的表)
二是对表干啥动作:添加列:add 列名 约束;
下面对表的结构操作都可以这样分为两部分理解
修改列:modify 列名 约束;
修改列名:change 旧列名 新列名 约束;
删除列:drop 列名;
修改表的字符集:character set 字符集;
*表内数据的增删改查:
增加数据:select into 表名 (...)value(...);/selet into 表
名 values(...);
改数据:update 表名 set 列名=..;
删除数据:delete from 表名;删除了表中的记录;
查询数据:select * from 表名; |