mysql基本操作

仅供和我一样曾经痛苦挣扎过的人儿参考。

一、入门
1.create database if not exists it_one character set utf8 collate utf8_general_ci;
2.show create database it_one;
3.show databases;
4.drop database it_one;
5.修改数据库的字符集和校对规则,注意不能修改数据库名称
 alter database it_one character set gb2312;
6.备份并恢复数据库(注意,数据库恢复时,不能恢复数据库,只能恢复数据库中的数据)
 备份:mysqldump -uroot -p it_one>e:/1.sql     (window 命令)
 恢复(1):source e:/1.sql  (sql 命令)
 恢复(2):mysql -uroot -p it_one<e:/1.sql (window命令)
 
7.修改表结构
 (1)添加列
  alter table mytable add name varchar(10);
 (2)删除列
  alter table mytable drop name ;
 (3)修改列
  alter table mytable modify name varchar(40);
 (4)修改表名
  rename table mytable to user;
 (5)修改表的字符集
  alter table user character set utf8;
 (6)修改表名
  alter table user change column id stu_id int;
  
 create table employee(
  id int,
  name varchar(20),
  gender varchar(10),
  birthday date ,
  salary float,
  hireddate date,
  resume text
 ); 
  
二、CRUD
1.Insert  
 (1)insert into employee(id,name,gender,birthday,salary,hireddate) values(1,'aaa','male','1980-09-09',1000,'1985-02-02') ;
  insert into employee(id,name,gender,birthday,salary,hireddate) values(2,'张三','male','1980-09-09',1000,'1985-02-02') ;
 
 (2)查看变量
  show variables like 'character%';
 (3)修改变量
  set character_set_client = gbk;      (告诉数据库客户端的编码是gbk)
  set character_set_results = gbk; (显示时,用gbk显示结果)
  set names gbk;
2.update (注意:更新时留意where条件,否则会全部更新)
 (1)alter table employee add job varchar(20);
 (2)update employee set salary=5000,job='abc' where name='aaa';
 (3)update employee set salary=salary+1000 where name='aaa';
 (4)update employee set gender=null where 1;
3.delete(truncate) 
 (1)delete from employee where name='张三'; (删除每条记录)
 (2)delete from employee ;         (删除所有记录)
 (3)整个表删除,先摧毁表,再重建表结构,数据多时可以选用,效率高于delete(一条一条删除),但是不能删除某条记录
  truncate employee;
  
4.select
  准备:
  create table student(
   id int,
   name varchar(20),
   chinese float,
   english float,
   math float
  );

  insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);
  insert into student(id,name,chinese,english,math) values(2,'李进',67,98,56);
  insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
  insert into student(id,name,chinese,english,math) values(4,'李一',88,98,90);
  insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);
  
  (1)select * from student;
  (2)select id,name from student;
  (3)select distinct english from student;   select distinct name,english from student;(name和english都要一样才过滤)
  (4)select name,english+10 as english from student;
  (5)select name as 姓名,(math+english+chinese) as 总分 from student;
  
  where字句
  (6)select * from student where name = '李进';
  (7)select * from student where english >90;
  (8)select * from student where (math+english+chinese) > 250;
  (9)select * from student where english >80 and english <90;
  (10)select * from student where english =78 or english =98;
     select * from student where english in(78,98);
  (11)select * from student where name like '李_';
     select * from student where name like '李%';
     
  order by字句
  (12)select * from student order by math desc;
     select name as 姓名,(math+chinese+english) as 总分 from student order by 总分 desc;
     select * from student where name like '李%' order by math desc;
     
  group by字句
  (13)select * from orders group by product;
  (14)select product,sum(price) from orders group by product;
  
  having字句:having和where均可实现过滤,但在having可以使用合计函数,having通常跟在group by后,它作用于组。
  (15)select * from orders group by product having sum(price) >100;

     
三、函数
 1.count()
    (1)select count(*) as总人数 from student ;
    (2)select count(*) as 总人数 from student where math >=90;
    (3)select count(*) as 总人数 from student where (math+chinese+english) >250;
    
  2.sum()
    (1)select sum(math) from student;
    (2)select sum(math),sum(chinese),sum(english) from student;
    (3)select sum(chinese+math+english) from student;
    (4)select sum(chinese)/count(chinese) from student;
    
  3.avg
    (1)select avg(math) from student;
    (2)select avg(math+chinese+english) from student;
    
  4.Max()、Min()
  (1)select Max(chinese),Min(chinese) from student;
  
  
四、表的约束
  1.主键约束
  create table demo1(
   id int primary key,
   username varchar(10),
   password varchar(10)
  );
  
  insert into demo1(username) values('aaa');
  
 2.自动增长约束
  create table demo2(
   id int primary key auto_increment,
   username varchar(10),
   password varchar(10)
  );
  insert into demo2(username) values('aaa');
  
 3.唯一约束
  create table demo3(
   id int primary key auto_increment,
   username varchar(10) unique,
   password varchar(10)
  );
  
  insert into demo3(username) values('aaa');
 
 4.非空约束
  create table demo4(
   id int primary key auto_increment,
   username varchar(10) unique not null,
   password varchar(10)
  );
 
 5.外键约束
  create table husband(
   id int primary key ,
   name varchar(10)
  );
  
  insert into husband values(1,'aaa');
  
  create table wife(
   id int primary key,
   name varchar(10),
   husband_id int ,
   constraint husband_id_FK foreign key (husband_id) references husband(id)
  );
  
  insert into wife values(1,'bbb',1);
  
  
五、表的设计
 (1)一对一
  create table person(
   id int primary key,
   name varchar(20)
  );
  
  create table idCard(
   id int primary key,
   address varchar(20),
   constraint idCard_fk foreign key(id) references person(id)
  );
  
  
 (2)多对一,一对多(看的角度不同)
  一个部门对应多个员工,多个员工对应一个部门
  create table department(
   id int primary key ,
   name varchar(20)
  );
  
  create table employees(
   id int primary key ,
   name varchar(20),
   constraint department_id_fk foreign key(id) references department(id)
  );
  
  alter table employees modify id int primary key;
  
 (3)多对多,利用中间表
  
  create table student(
   id int primary key,
   name varchar(20)
  );
  
  中间表
  create table student_teacher(
   student_id int ,
   teacher_id int ,
   primary key(student_id,teacher_id),--联合主键
   constraint student_id_fk foreign key(student_id) references student(id),
   constraint teacher_id_fk foreign key(teacher_id) references teacher(id)
  );
  
  create table teacher(
   id int primary key,
   name varchar(20)
  );


 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值