Forty-one MySQL

 

1、数据库的介绍

  好处:持久化存储、读写速度极高、

    保证数据的有效性、对程序支持下非常好,容易拓展

2、数据库的类型

  关系型数据库:

    优点:容易理解,二维表结构、使用方便、支持事务等复杂的数据操作功能

      MySQL、Oracle、SQL server

      核心元素:数据行、数据列、数据表、数据库

  非关系型数据库:

    优点:数据间无关系,容易拓展、结构简单,读写性能高、

      无需事先建立字段,随时可以存储自定义的数据格式

      MongoDB、Redis

3、常用入门的操作命令

  mysql -uroot -p密码  进入root账号

  status;        查看数据状态信息

  exit、quit        退出数据库连接

  show databases;     显示所有的数据库

  create database data charset=utf8;  新创建一个数据库

  use 数据库名      选择要编辑的数据库

  select database():    查看当前在那个数据库下

  show tables;       显示数据库下所有的表

  \c          当输入有误时,\c则取消改行命令

  source 数据库文件名.sql  导入数据库到mysql中

  desc '表名';      查看表结构信息

4、SQL语句主要分为:

  DQL:数据查询语言

  DML:数据操作语言,增删改

  DDL:数据定义语言,对数据库、表的管理等,如create、drop

  TPL:事务处理语言,对事务进行处理

  DCL:数据控制语言,进行授权与权限回收

  CCL:指针控制语言,通过控制指针完成表的操作

  DQL(查):

    select id,course,address from course;

    select name from student where id = 14;

  逻辑运算符:and、or、not

    select name,age,description as des from student where age<18 or sex=2;

  范围运算符:

    select class,name,age,sex from student where not age between 18 and 22;

  比较运算符:=、<> !=、>=、<=、>、<

  in运算符(多条件值查询):

    select name,class,age from student where class in (304,305,306)

  模糊查询:% 匹配任意多个字符、_ 匹配任意一个字符

    select * from student where name LIKE '%林%';

  聚合运算

    AVG 返回指定列的平均值

    COUNT 返回指定列中非NULL值的个数

    MIN 返回指定列的最小值

    MAX 返回指定列的最大值

    SUM 返回指定列的所有值之和

    select count(id) from student where class="305";

    select avg(age) from student where class="302";

  分组查询(group by子句, 可以对表进行分组,常常与聚合函数一起使用)

    select age,count(name) from student group by age;

  结果排序

    ASC表示升序(从小到大),为默认值,

    DESC为降序(从大到小)

    以下为多字段排序: 

      select id,name,sex from student order by age desc,id asc limit 100;

      limit后面跟着两个参数,第一个参数表示取数据的开始下标[在表中下标从0开始],第二个参数表示限制结果的数量,主要用于项目开发中的分页功能

      select * from student limit 6,3; // 等同于 limit 6,3

  DML(增删改):

    增(,()可添加多个)

    insert into 表名 (字段1,字段2,字段3,....) values (字段值1,字段值2,字段值3,....);

    insert into 表名 values (字段值1,字段值2,字段值3,....);

    改:update 表名 set 字段1=字段值1,字段2=字段值2 where 条件

    删:delete from 表名 where 条件 

  DDL:

    drop table 表名  删除整个表

    drop table student;  删除学生表

    delete from table    删整个表的内容

    truncate table  清空/重置表

    create database 数据库名 charset=utf8;    创建数据库

    drop database 数据库名      删除数据库[一定要谨慎操作]

posted @ 2019-03-06 20:44  pythonernoob  阅读(103)  评论(0)    收藏  举报