一.外键
1.创表时同时设置外键方法
create table 表名(
属性名 属性(属性长度) Primary Key auto_increment , 前面是名称,后面是类型,Primary Key为主键
属性名 属性(属性长度) , auto_increment 为自增长
属性名 属性(属性长度) ,
属性名 属性(属性长度);
constraint 自定义的外键名称(一般推荐格式为FK_外键名称 ) foreign key (gradeid) references grade(gradeid)
)
2.已创建表,通过指令添加外键方法
设置外键(关联数据)
ALTER TABLE 表名
ADD CONSTRAINT 自定义外键名称(FK_开头) FOREIGN KEY(需要引用外键的字段名) REFERENCES 被引用的表名(表内属性);
例:
ALTER TABLE student
ADD CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid);
3.删除外键
1.查询当前SQL版本号
select DISTINCT 表属性 FROM 表;
例:
SELECT DISTINCT StudentNo FROM result;
3.全部ALL
select ALL 表属性 FROM 表;
例:
三.别名
通过AS关键字可以给表属性设置别名
例:
SELECT s.SubjectName AS "科目的名称",(s.ClassHour+1) AS "新学习的时间" FROM `subject` s;
SELECT s.subjectName AS "课程名称",(s.ClassHour) AS "总课时",(s.ClassHour/10) AS "均课时/天" FROM `subject` s;
SELECT studentResult AS "80—90的分数" FROM result WHERE studentResult>=80 AND studentResult<=90;
四.模糊查询
1.创表时同时设置外键方法
create table 表名(
属性名 属性(属性长度) Primary Key auto_increment , 前面是名称,后面是类型,Primary Key为主键
属性名 属性(属性长度) , auto_increment 为自增长
属性名 属性(属性长度) ,
属性名 属性(属性长度);
constraint 自定义的外键名称(一般推荐格式为FK_外键名称 ) foreign key (gradeid) references grade(gradeid)
)
2.已创建表,通过指令添加外键方法
设置外键(关联数据)
ALTER TABLE 表名
ADD CONSTRAINT 自定义外键名称(FK_开头) FOREIGN KEY(需要引用外键的字段名) REFERENCES 被引用的表名(表内属性);
例:
ALTER TABLE student
ADD CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid);
3.删除外键
AlTER TABLE student DROP FOREIGN KEY FK_gradeid;
ALTER TABLE student DROP INDEX FK_gradeid;
注:INDEX是删除索引,单一执行第一条是无法完全删除的
二.查询版本号
1.查询当前SQL版本号
SELECT VERSION();
2.查询不同值(不重复)
select DISTINCT 表属性 FROM 表;
例:
SELECT DISTINCT StudentNo FROM result;
3.全部ALL
select ALL 表属性 FROM 表;
例:
SELECT ALL StudentNo FROM result;
三.别名
通过AS关键字可以给表属性设置别名
例:
SELECT s.SubjectName AS "科目的名称",(s.ClassHour+1) AS "新学习的时间" FROM `subject` s;
SELECT s.subjectName AS "课程名称",(s.ClassHour) AS "总课时",(s.ClassHour/10) AS "均课时/天" FROM `subject` s;
SELECT studentResult AS "80—90的分数" FROM result WHERE studentResult>=80 AND studentResult<=90;
四.模糊查询
【使用like进行模糊查询】
注意:like运算副只用于字符串,所以仅与char和varchar数据类型联合使用
例:select * from a where name like '赵%'
说明:查询显示表a中,name字段第一个字为赵的记录
例:SELECT * FROM student WHERE studentName LIKE '李_';
说明:查询显示表a中,name字段第一个字为李的两位数数据的记录
【使用between在某个范围内进行查询】
例:select * from a where nianling between 18 and 20
说明:查询显示表a中nianling在18到20之间的记录
【使用in在列举值内进行查询】
例:select name from a where address in ('北京','上海','唐山')
说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段