(十四)mySql

1   基本语句

      show databases

      create database day14;

     create database day15 default character set gbk;

     alter database day15 default character set utf8;

     drop database day15;

     create table student(id int,name varchar(20),age int); 

    alter table student add column gender varchar(1);

    alter table student modify column gender varchar(2);

   alter table student change column gender sex varchar(2);

   alter table student drop column age;

  alter table student rename to teacher;

  desc student;

  show tables

  drop table teacher;

  INSERT INTO student VALUES(1,'张三',20);

  INSERT INTO student(id,NAME) VALUES(2,'李四');

  UPDATE student SET NAME='王五',age=40 WHERE id=1;

  DELETE FROM student;

  TRUNCATE TABLE student;

 注意:delete from truncate table 的区别?

--  1delete from删除全部,也可以按条件删除,但是truncate table只能全表删除,不能按条件删除

--  2delete from删除的数据可以回滚,truncate table删除的数据不能回滚。

--  3delete from不可以把自增长约束(auto_increment)重置,truncate table可以把自增长约束(auto_increment)重置

条件查询

  DELETE FROM student WHERE id=2;

  SELECT id AS '编号',NAME AS '姓名','特长班' AS '班级' FROM student;

 SELECT NAME AS '姓名',(servlet+mysql) AS '总成绩' FROM student;

 SELECT DISTINCT address FROM student;

SELECT * FROM student WHERE servlet>=80 AND servlet<=85;

SELECT * FROM student WHERE servlet BETWEEN 80 AND 85;

SELECT * FROM student WHERE age<>30;

SELECT * FROM student WHERE NAME LIKE '%%';

SELECT * FROM student WHERE NAME LIKE '_';

 聚合查询 

SELECT SUM(servlet) FROM student;

SELECT AVG(servlet) FROM student;

SELECT MAX(servlet) FROM student;

SELECT MIN(servlet) FROM student;

SELECT COUNT(*) FROM student;    

SELECT COUNT(id) FROM student; -- 效率会比count(*)效率高,且准确

分页查询

 

SELECT * FROM student LIMIT 0,2

分组查询

SELECT gender,COUNT(*) '人数' FROM student GROUP BY gender;

SELECT gender,COUNT(*) '人数' FROM student GROUP BY gender HAVING COUNT(*)>2;

 查询后排序

SELECT * FROM student ORDER BY id ASC;

SELECT * FROM student ORDER BY id DESC,age ASC;


char(10) 固定长度,一定占用10个长度

varchar(10) 最多10个长度,用多少,占多少。

int(4) 固定长度,一定占用4个长度

 int     最多十一个长度,用多少,占多少

date  日期

datetime  日期+时间

datestamp  最后修改时间

触发器

CREATE TRIGGER tri_empAdd AFTER INSERT ON employee FOR EACH ROW  

CREATE TRIGGER tri_empUpd AFTER UPDATE ON employee FOR EACH ROW  

CREATE TRIGGER tri_empDel AFTER DELETE ON employee FOR EACH ROW

mysql权限问题

root :拥有所有权限

 权限账户:只拥有部分权限(CURD)例如,只能操作某个数据库的某张表

SELECT PASSWORD('root'); -- *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B

USE mysql;

SELECT * FROM USER;

-- 修改密码

UPDATE USER SET PASSWORD=PASSWORD('123456') WHERE USER='root';

分配权限:

GRANT SELECT ON day16.employee TO 'eric'@'localhost' IDENTIFIED BY '123456';

GRANT DELETE ON day16.employee TO 'eric'@'localhost' IDENTIFIED BY '123456';

备份和恢复



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值