#防止乱码
set names gbk;
#判断是否存在;并删除
drop view if exists`表名`;
#查询表中所有内容
select*from 表名/G;#+G以另外一种格式展示数据
#查看所有数据库;
show databases;
#添加主键;
例:将grade表中gradeid设置为主键;
ALTER TABLE `grade`ADD CONSTRAINT `pk_grade`PRIMARY KEY `grade`(`gradeid`); ***********************************************
#创建外键关联
ALTER TABLE`xinbiao(从表)`ADD CONSTRAINT fk(外键联系)_xinbiao(从表)_fhello(主表) FOREIGN KEY (`studentNo链接项`)REFERENCES `fhello`(`studentNo链接项`); ************************************************ ***********************************************
#查看mysql帮助文档
help 查询内容
#查询数据库中所有的表
show tables;
#判断表是否存在?
drop table if exists 表名;
#创建数据库;
create database 数据库名;
#开始事物;
bejin;
#创建表:
CREATE TABLE `bank`(
`customerName`VARCHAR(50)COMMENT‘年级编号‘,
`currentMoney`INT(50)COMMENT‘邮件账号‘,
PRIMARY KEY(`customerName`)
);
#删除表;
drop table [if exists(判断表是否存在)]表名;
#修改表名;
alter table `旧表名`rename`新表名`;
#修改字段
alter table 表名 change `原字段名``新字段名`数据类型(10)添加属性
#删除字段
alter table 表名 drop `字段名`;
#添加字段
alter table 表名 add `字段名`数据类型(10)注释‘‘;
例:alter table student add `customerName`VARCHAR(50)COMMENT‘年级编号‘,
#向表中插入数据
insert into `bank`(`customerName`,`currentMoney`)values(‘夏丽洋‘,1);
insert into `bank`(`customerName`,`currentMoney`)values(‘张志利‘,1000);
#事物处理
update bank set currentMoney=currentMoney+500 where customerName=‘夏丽洋‘;
update bank set currentMoney=currentMoney-500 where customerName=‘张志利‘;
#事物提交(结束事物·)
commit;
#关闭/开启自动提交状态 set autocommit=0/1;
#0是关闭自动提交1是开启自动提交
#事物回滚; rollback;
#给表中同时添加多条数据
insert into grade(id,属性二,属性3) values (1,‘内容一‘,‘内容二‘);
#创建视图:
create view 视图名 as 《select语句查询条件》
#删除视图;
drop view [if exists(判断视图是否存在)]视图名;
#使用视图;
select 字段1,字段2...from 视图名;
#链接数据库
USE myschool;
#找到数据库中的表
SELECT*FROM student;
#要查找的项
SELECT studentName,studentNo,ioginPwd,sex,phone
#表名
FROM student
#设置查找的条件
WHERE gradeId=1
#查询的项目进行降序排列;
升序用ASC ORDER BY studentNo ASC
#分页查询;limit是限定显示记录的条数
LIMIT 5; #分页查询;
#从第五条开始显示四条
LIMIT 4,4;
#查询的项目;用,号隔开
SELECT `studentNo`AS 学生编号,(identityCard*0.9+5)as学生成绩
#查询表的来源
FROM`student`
#查询的条件
WHERE(identityCard*0.9+5)>=60
#查询的项目进行降序排列;
升序用ASC ORDER BY identityCard DESC;
***************************************
#查询大伟的出生日期
SELECT bornDate
FROM student
WHERE studentName=‘大伟‘; #查询比大伟出生日期大的学生
SELECT studentName,sex,phone,address,bornDate FROM student
#查询条件 WHERE bornDate>‘2017-10-27‘;
**********************************************88
#子查询实现查询信息:
#查询比大伟出生日期大的学生
SELECT studentName,sex,phone,address,bornDate
FROM student
WHERE bornDate>( SELECT bornDate FROM student WHERE studentName=‘大伟‘ ); ***************************************
#多个条件同时查询
SELECT studentName,address,bornDate
FROM student
WHERE bornDate>‘2017-10-27 19:40:20‘AND identityCard>60;
**************************************
#分组查询:
SELECT `zhangzhili`,AVG(`studentname`)as课程平均成绩
FROM xialiyang
GROUP BY `zhangzhili`;
————————————————————
实现结果由高到低显示
SELECT `zhangzhili`,AVG(`studentname`)as课程平均成绩
FROM xialiyang
GROUP BY `zhangzhili` ORDER BY AVG(`studentname`)DESC;
——————————————————————————
#实现在分组查询的情况下在进行查询
SELECT `zhangzhili`,AVG(`studentname`)AS 课程平均成绩
FROM xialiyang
GROUP BY `zhangzhili` HAVING AVG(`studentname`)>=60;
——————————————————————————
#内连接语句(两表相连)
SELECT `grade`.gradeName,`student`.`sioginPwd`,`student`.`sbornDate`
FROM `grade`,`student`
WHERE `grade`.`gradeid`=`student`.`gradeid`;
——————————————————————————
#内连接语句(三表相连)
SELECT s.gradeName AS 姓名,su.semail AS 邮箱,kk.rbornDate AS 时间
FROM grade AS s
INNER JOIN `student` AS su ON(s.`gradeid`=su.`gradeid`)
INNER JOIN `result` AS kk ON(su.`sphone`=kk.`sphone`);
------------------------------------------------
#常用创建表的格式;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#创建学生表附表 CREATE TABLE `Fhello`(
`studentNo`INT(4)NOT NULL COMMENT‘学号‘,
`FPwd`VARCHAR(10) NOT NULL COMMENT‘密码‘,
`FName`VARCHAR(50) NOT NULL COMMENT‘学生姓名‘,
`Fgraded`INT(4)UNSIGNED COMMENT‘年级编号‘,
`Fphone`VARCHAR(50)COMMENT‘联系电话‘,
`FbornDate`DATETIME COMMENT‘出生时间‘,
`Femail`VARCHAR(50)COMMENT‘邮件账号‘,
`Card` VARCHAR(18)COMMENT‘身份证号码‘,
PRIMARY KEY(`studentNo`)
);
#创建学生表创建成功了!!!!
CREATE TABLE `xinbiao`(
`studentNo`INT(4)NOT NULL COMMENT‘学号‘,
`XioginPwd`VARCHAR(20) NOT NULL COMMENT‘密码‘,
`XstudentName`VARCHAR(50) NOT NULL COMMENT‘学生姓名‘,
`XgradeId`INT(15)UNSIGNED COMMENT‘年级编号‘,
`Xphone`VARCHAR(50)COMMENT‘联系电话‘,
`XbornDate`DATETIME COMMENT‘出生时间‘,
`Xemail`VARCHAR(50)COMMENT‘邮件账号‘,
`XidentityCard` VARCHAR(18)COMMENT‘身份证号码‘,
PRIMARY KEY(`Xphone`)
);
**************************************************
# CREATE TABLE `xinbiao`(
`studentNo`INT(4)NOT NULL COMMENT‘学号‘,
`XioginPwd`VARCHAR(20) NOT NULL COMMENT‘密码‘,
`XstudentName`VARCHAR(50) NOT NULL COMMENT‘学生姓名‘,
`XgradeId`INT(15)UNSIGNED COMMENT‘年级编号‘,
`Xphone`VARCHAR(50)COMMENT‘联系电话‘,
`XbornDate`DATETIME COMMENT‘出生时间‘, `
Xemail`VARCHAR(50)COMMENT‘邮件账号‘,
`XidentityCard` VARCHAR(18)COMMENT‘身份证号码‘,
PRIMARY KEY(`Xphone`)
);
#创建学生表设置gradeid为主键
CREATE TABLE `grade`( `gradeid`INT(10)UNSIGNED COMMENT‘成绩‘,
`gradeName`VARCHAR(50) NOT NULL COMMENT‘学生姓名‘,
PRIMARY KEY(`gradeid`)
);
#创建年级表sphone为主键
CREATE TABLE `student`(
`studentNo`INT(4)NOT NULL COMMENT‘学号‘,
`sioginPwd`VARCHAR(20) NOT NULL COMMENT‘密码‘,
`sstudentName`VARCHAR(50) NOT NULL COMMENT‘学生姓名‘,
`gradeid`INT(10)UNSIGNED COMMENT‘成绩‘,
`sphone`VARCHAR(50)COMMENT‘联系电话‘,
`sbornDate`DATETIME COMMENT‘出生时间‘,
`semail`VARCHAR(50)COMMENT‘邮件账号‘,
`sidentityCard` VARCHAR(18)COMMENT‘身份证号码‘,
PRIMARY KEY(`sphone`)
);
#创建年级表
CREATE TABLE `result`(
`rgradeid`INT(10)UNSIGNED COMMENT‘年级编号‘,
`sphone`VARCHAR(50)COMMENT‘联系电话‘,
`rbornDate`DATETIME COMMENT‘出生时间‘,
`remail`VARCHAR(50)COMMENT‘邮件账号‘,
PRIMARY KEY(`remail`)
);
#创建科目表
CREATE TABLE `subject`(
`kradeid`INT(10)UNSIGNED COMMENT‘年级编号‘,
`kphone`VARCHAR(50)COMMENT‘联系电话‘,
`kbornDate`DATETIME COMMENT‘出生时间‘,
`remail`VARCHAR(50)COMMENT‘邮件账号‘,
PRIMARY KEY(`kphone`)
);