MySQL

MySQL

  这是一个关系型数据库,存在表的概念。

  结构数据库可以存放多张表,每个表可以存放多个字段,每个字段可以存放多个记录。

DOS命令操作数据库

  PHPstudy使用终端打开数据库

  第一步:设置-->MySQL工具-->MySQL命令行;

  第二步:第一次打开:默认是root

一、对数据库进行增删查改

  1.查看数据库的指令:show databases;

   “ ; ”分号是数据库的结束符,没有加分号,即使按回车,也代表这个语句没有结束。

  2.创建数据库:create database +数据库名;

  3.删除数据库:drop database +数据库名;

  4.进入某一个数据库中:use +数据库名;

二、对数据表增删查改

  1.查看数据表:show tables;

  2.创建数据表:create table +表名(字段1 类型,字段2 类型);

    create table t1(id tinyint,age smallint,name int,sex bigint);在创建表的时候一定要加字段

    id是字段、tinyint是字段的属性、unsigned是字段属性,代表无符号,不会去负数,扩充了正数的范围;

    create table t2(id int unsigned);:创建了一个t2的表,有一个叫id的字段,且这个字段是整数型,无符号,扩充了正数范围;

    alter table t1 add age int(5) zerofill;

     查看字段定义的时候会发现int(5) 5是字符宽度1 00001 如果在给这个字段设置,id int(5) zerofill; id的宽度是5 如果输入2 前面会用0去填充成为00002

  3.删除数据表:drop table +表名;

  4.修改表名:alter table +表名 rename +新表名;

三、进入表里对字段进行操作

  1.查看表的定义 :desc +表名;

  2.添加字段(字段名和字段类型都要写):alter table +表名 add +字段定义;

  3.删除字段:alter table +表名 drop +字段名;

  4.修改字段:alter table 表名 change +旧的字段名 +新的字段名 +字段定义;

  5.修改字段类型:alter table +表名 modify +字段名 +字段类型(字段定义);

四、给字段添加数据(记录)

  1.添加一条记录:insert into +表名(字段名,字段名) value(值1,值2);

  2.添加不指定字段名的语法:insert into +表名 value(值1,值2);

  3.多条记录添加:insert into +表名 value(值1,值2),(值1,值2),(值1,值2),(值1,值2);

  4.查看记录:

     (1)、查看所有的字段记录:select * from +表名;

     (2)、查看单个的字段记录:select +字段名 from +表名;

     (3)、查看多个的字段记录:select +字段名1,字段名2 from +表名;

     (4)、按条件查询:select * from +表名 where +字段+条件表达式(>、<、>=、<=、=、!、and 、且、 or);

     (5)、排序查询:

        由低到高排序:select * from +表名 order by +字段名  asc;

        由高到低排序:select * from +表名 order by +字段名  desc;

     (6)、限制查询:

        从第二个开始向后查询五个: select * from +表名 limit 2,5;

        从开始一直查询到第五个: select * from +表名 limit 5;

   5.删除记录:

       (1)、删除所有:delete from +表名;

     (2)、按条件删除:delete from +表名 where +字段名+条件表达式;

   6.改数据:

      (1)、将要修改的字段下的数据都修改为所改的值:update +表名 set +字段名=值;

      (2)、按条件修改:update +表名 set +被修改字段=值 where +被修改字段所对称的字段=值;

五:补充:

  1.主键key

  一个表必有一个唯一的标志符,往往都是id,尽量不要用数据记录去充当主键key;

  (1)Primary key() 用于设置主键的

  (2)设置主键的方法

    1.Create table t4(id int primary key,age int);

    2.Create table t5(id int,age int,primary key(id));

    3.Create table t6(id int,age int);回车之后发现没有设置主键,可以使用alter table t6 modify id int primary key;

  (3)自增:Auto_increment

   1.Auto_increment 必须和primary key 配合使用

     Create table t7(id int primary key auto_increment,age int);

   2.加数据记录insert into t13(age) values(23),(21),(19);

  2.Null

    1.默认是null 但是主键不能是null 可以为空

    2.Not null 不能为空

  3.Default 默认值属性

    Create table t11(id int not null,age int default 23);

    后面在加数据记录的时候age这个字段如果有值就是这个值如果没有就是默认值23

    怎么加:

      Insert into t11(id) values(1),(2),(3)

  4.添加数据记录

    Insert into 表名[(字段1,字段2)] values(1,值2)

   5.数据库的数据类型

   (1)数值

      Tinyint int

        Float 单精度最多到7位小数3.16528663=3.165287

    (2)字符串

      1.Char 定长字符串不需要设置字符编码不管是字母还是汉字都是一个字符

        存储空间是固定的哪怕放一个字母也分配那么多空间

      2.Varchar 变长字符串需要设置

        根据存储量varchar比较节省空间

      3.Mysql设置字符编码charset=utf8|gbkd; uft8 一个汉字占三个字节gbk 一个汉字占2个字节

      4.Text

    (3)日期

  6.聚合查询

    (1)Sum() select sum(字段) from 表名;

    

    (2)Count() 记录总数

    

    (3)Max() 最大值

    

    (4)min

    

    (5)Group by 表示分类聚合

     

    (6)With rollup 对分类后的结果再汇总可有可无

    

    (7)Having 对分类后的结果再进行条件过滤

     

  表链接

    (1)内链接

      Select * from t1,t3 where t1.id=t3.eid;

     

  (2)外链接

    1.左链接

    Select * from t1 left join t2 on 1.字段=2.字段;

 

    2.右链接

      

    左连接和右连接

      左连接把左表的当主表

    子查询

      in 查询子查询必须是按唯一一个字段查询

      Not in

    

    

  

原文地址:https://www.cnblogs.com/mo123/p/10685579.html