MySQL支持所有标准SQL数值数据类型,mysql的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。并且MySQL允许我们指定数值字段中的值是否有正负之分(UNSIGNED)或者用零填补(ZEROFILL)
在MySQL中支持的5个主要整数类型是TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。浮点型有:FLOAT、DOUBLE、DECIMAL。
下面的表显示了需要的每个数值类型的存储所占用的字节和可表示的数值范围: 1bit 即1位 1字节=8bit 1k=1024字节 1M=1024k
概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。
分类:主键:primary key 非空约束: not null 唯一约束:unique 外键约束:fioreign key
- -- 插入两条记录,数量必须和定义表的列的数量及顺序一致
- INSERT INTO class(class_name) VALUES('web前端');
- INSERT INTO class(class_name) VALUES('Python')
- -- 第一种方法
- INSERT INTO student(NAME,age,weight,city,mobile,class_id) VALUES ('李白',18,70,'上海','15785556855',1);
- INSERT INTO student(NAME,age,weight,city,mobile,class_id) VALUES ('周瑜',17,70,'郑州','15785556855',2)
-
- -- 方法二
- INSERT INTO student(name,age,weight,city,mobile,class_id)values
- ('孙悟空',18,70.1,'天津','3123122312',1),
- ('孙行者',18,70.1,'河北','3123122312',2)
- -- 通常情况下不建议使用 * 进行全列查询
- -- 1,查询的列越多,意味着需要传输的数据量越大;
- -- 2,可能会影响到索引的使用。
- SELECT * FROM 表名称
- -- 指定列的顺序不需要按定义表的顺序
- SELECT 字段名1,字段名2 FROM 表名称
例:
- -- 表达式不包含字段
- select * from student;
- -- 表达式包含一个字段
- select id,name,10 from student;
- -- 表达式包含多个字段
- SELECT id,name,chinese + math + english FROM student;
- -- 别名
- select id as 编号,name as 姓名,age*weight as 成绩 from student;
- -- 删除表
- DROP TABLE 表名称
- -- 删除表的数据(表存在)
- DELETE FROM 表名称
-
- DELETE FROM 表名称 WHERE 条件
- -- 例子:删除表里面age=23的
- DELETE FROM student WHERE age=23
- -- 范围查询 BETWEEN...AND.. 查询id在3-6之间的信息
- SELECT id,NAME,age FROM student WHERE id BETWEEN 3 AND 6
- -- 范围查询 IN 查询id在1,2,5的信息
- SELECT id,NAME,age FROM student WHERE id IN(1,2,5)
7.NULL查询
例:
- INSERT INTO student(NAME,age,weight,city,mobile,class_id) VALUES ('黄忠',30,70.8,NULL,NULL,3);
- SELECT * FROM 表的名称 WHERE 字段名 IS NULL
- SELECT * FROM 表的名称 WHERE 字段名 IS NOT NULL
8.多条件查询并的关系 、多条件查询或的关系
- SELECT * FROM 表名称 WHERE 条件1 AND 条件2
- 例子:
- SELECT * FROM student WHERE class_id=1 AND age=18
-
- SELECT * FROM 表名称 WHERE 条件1 OR 条件2
- 例子:查询student中班级名字=1 或 城市名字=广州
- SELECT * FROM student WHERE class_id=1 OR city='广州'