黑马程序员技术交流社区
标题: 数据库第二天MySQL  DQL查询和约束 [打印本页]
作者: 小北京    时间: 2018-12-10 14:19
标题: 数据库第二天MySQL  DQL查询和约束
约束
主键(PRIMARY KEY)
标识该属性为该表的主键,可以唯一的标识对应的记录。
外键(FOREIGN KEY)
标识该属性为该表的外键,与某个表的主键关联。
唯一性(UNIQUE)
标识该属性的值是唯一的。
非空(NOT NULL)
标识该属性不能为空。
默认值(DEFAULT)
-
Select 语句 
基本语法 
Select * from exams 
Select name,age from exams 
Select * from exams where ….;
建立一个stu表,用于后面查询 
create table stu( 
id int primary key auto_increment, 
name varchar(10) not null, 
age int , 
chinese double, 
english double, 
math double 
练习1 
查询表中所有学生的信息。 
Select * from stu; 
Select name,age,chinese,English,math from stu; 
查询表中所有学生的姓名和对应的英语成绩。 
Select name,english from stu; 
过滤表中重复数据。select distinct * from stu;
使用别名 
语法:Select column as 别名 from stu;
Select name as 姓名 from stu;
练习2 
在所有学生分数上加10分特长分。 
Select name,chinese+10,english+10,math+10 from stu;
统计每个学生的总分。 
Select name,Chinese+English+math from stu
使用别名表示学生分数。 
Select name as 姓名 ,(Chinese + English+math) as 总分 from stu;
as是可以省略的
练习3 
查询姓名为XXX的学生成绩select * from stu where name=’xxx’
查询英语成绩大于90分的同学selcet * from stu where englisg>90
查询总分大于200分的所有同学select * from stu where Chinese+math+English>200;
练习
查询英语分数在 80-90之间的同学。 
Select * from stu where English>80 and English<90 
Select * from stu where English between 80 in 90
查询数学分数为89,90,91的同学 
Select * from stu where math in(89,90,91)查询所有姓李的学生成绩。 
Select * from stu where name like ‘李%’ 
查询数学分>80,语文分>80的同学 
Select * from stu where math>80 and Chinese >80;
Order by语句的语法 
Select column1,column2,column3 from table_name order by column asc/desc 
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |