#防止乱码 
set names gbk; 
#判断是否存在;并删除 
drop view if exists`表名`; 
#查询表中所有内容 
select*from  表名/G;#+G以另外一种格式展示数据 
#查看所有数据库; 
show databases; 
#查看表中所有数据的内容;
desc 表明;
*************************************************************
#创建视图的语法 
create view  视图名 AS 《查询语句》
 #判断视图是否存在!删除视图 
drop  view if exists 视图名;
 #查看视图: 
select*from  视图名; select 字段名 from 视图名;
 #查看数据库中所有视图;
 use  information_schema; select*from views\G;
 #创建索引:
 create index  index_表名_字段名 on 表名(字段名); 
#删除索引 
drop index 索引名 on 表名;
 #查看一张表中的索引信息 
show index  from 表名;
 #查看一个数据库中的全部索引 
use  数据库名; show index from 表名;
 #数据库的备份;不写表名 就是备份整个数据库 
mysqldump -u root -p 数据库名 表名> 备份的位置  (回车后输密码)
 #恢复数据库
mysql -u root -p 数据库名<备份的地址 
#使用source 恢复备份
 1:创建数据库;create database 数据库名 
2:选择数据库;use 数据库名 
3:source 备份的地址(路径); 
#数据的导出
 1:选择数据库; use 数据库名 
2:SELECT*FROM 表名 WHERE 查询条件 
3:into outfile '文件地址(斜线左斜/)'; 
例: use myschool; 
select*from result WHERE subjectNo =(SELECT subjectNo FROM `subect` WHERE subjectName='logic java' )
 into outfile 'e:/haha/shishi.txt';
#数据的导入; 
load data infile 文件 into table  表名(导入的表)
 例: load data infile 'e:/haha/xialiyang.txt' into table  result(表)
*********************************************************************************
#添加主键; 
例:将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`)
 
 
 );