1.操作数据库语句
假如说,库名是一个特殊的关键字。为了进行区分关键字和库名,我们可以使用 TAB键上面的(飘号)----->``.进行区分库名和关键字。
- eg: 库的名字叫USE,进行使用库的操作时候
2.数据库列类型
1.数值: (1).tinyint: ---------》1个字节 ---------》(十分小的数据) (2).smallint: ---------》 2个字节---------》(较小的数据) (3).mediumint: ---------》3个字节---------》(中等的数据) (4).int ---------》4个字节 (5).big ---------》8个字节 ------------------------------------- float: ---------》4个字节 ---------》(精度不好) double: ---------》8个字节 ---------》(精度不好) decimal: ---------》字符串形式的浮点数,---------》(精度高)
2.字符串: (1).char---------》字符串固定大小的 0~255 (2).varchar ---------》可变字符串 0~65535 (3).tinytext---------》微型文本 2^8-1---------》(写博客文档) (4).text---------》大型文本---------》2^16-1---------》(超大文本)
3.日期: (1).date---------》yyy-mm-dd---------》(日期格式) (2).time---------》hh:mm:ss---------》(时间格式) (3).datetime ---------》yy:mm:dd:hh:mm:ss---------》(日期+时间) (4).timestamp---------》时间戳 (5).year---------》年
4.null (1).没有值,未知。 (2).不要使用null进行运算,因为结果还是null;
3.数据库的字段属性
1.unsigned:(0~65535) (1).无符号的整数。(没有负号) (2).声明了该列不能为负数,只能为正数。
2.zerofill (1).0填充的---------》(用0进行补位的操作) (2).不足的位数,使用0来填充。 eg: int(3)---------》整形且3位。 输入5 填充后 005;
3.auto_increment (1).自动在上一行的基础上+1(默认) (2).通常用来设计唯一的主键,必须是整数类型 (3).可以自定义设计主键自增的起始值和步长
4.not null (1).假设设置为not null,如果不给他赋值,就会报错 (2).null,如果不填写,默认就是null;
4.数据库的主键添加(primary key())
create database demo1; create table if not exists `student`( `id` int(10) auto_increment, `name` varchar(20) not null, `sex` varchar(20) not null, `qq` int(11) not null unique, primary key(id) );
阿里巴巴规范,在最后的语句中添加主键: primary key(id)
5.删除数据表的两种格式---------》drop and delete
1.彻底删除包括数据表的属性和数据: drop table `被删除的数据表名`;
2.仅删除数据库的数据信息,不删除数据库的属性 truncate table `student`;
6.限制结果--------》limit A offset B
select name from `student` LIMIT (返回几行) OFFSET (第几行开始);
7.排序子句---------》order by(默认为升序)
1.如果不排序,数据一般将以他在表中出现的顺序显示,这有可能是数据最初 添加到表中的顺序,但是如果数据随后进行过更新或删除,那么这个顺序将会 受到DBMS重用回收存储空间的方式的影响。
2.oreder by 子句必须保证它是select 语句中最后一条子句。如果不是最后一条 那么将会进行报错的处理。
3.按多个列进行排序 select *from `student` order by (第一条件),(第二条件); 假如说:在第一条件相等的情况下,那么我们就进行比较第二条件
4.自定义排序方向 (1).order by=========>默认升序排序 (2).order by desc========>降序排序 (3).order by asc========>升序排序 (4).DESC 关键字只应用到直接位于其前面的列名。如果想对多个列进行排序,那么 我们必须对内一列指定DESC关键字。 eg: SELECT *FROM `student` ORDER BY id DESC; eg: SELECT *FROM `student` ORDER BY id DESC,sex DESC;
8.低级过滤数据---------》条件判断
1.where 子句优先级高于 order by ,所以where 的位置在order的前面。
2.切记NULL和非匹配(<>)是不一样的。
9. 高级数据过滤--------》操作符
1.and的优先级高于or的优先级。 假如说and和or同时出现的话,那么将会先执行and、然后执行or
2. ()的优先级高于and和or
3. in操作符:用来指定条件范围,范围中的每个条件都可以进行匹配,in取 一组由逗号分隔,括在圆括号中的合法值。 为什么要使用in而不是or? (1).in操作符一般比一组or操作符执行的更快。 (2).in操作符的最大优点就是可以包含其他select语句,能够更动态地建立where子句。
4.NOT操作符:where子句中地NOT操作符有且只有一个功能,那就是否定其后所跟 的任何条件。