#防止乱码
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`) );转载于:https://www.cnblogs.com/xiaobaizhang/p/7771368.html