数据库基本常用语句

#防止乱

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 viewsG;

#创建索引:

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