天天看点

mysql数据库

mysql:数据库是存储数据的创库

           为什么要用数据库(什么是数据固化)将内存中的数据保存在硬盘上,保证程序下次访问时,还能访问数据的过程

                                            怎样实现数据固化:[文件、 网络、 数据库]

              数据库类型:  1、关系型数据库  [mysql、oracle、sqlserver、DB2 ]

                                         2、非关系型数据库 Nosql [ monggoDB、redits]

                                         mysql简单运行库、移植性强、免费

             sql在mysql下的应用:

             命令:show databases;查看数据库

                         create database  myfirst;创建数据库

                         drop database myfirst;删除数据库

                         use 数据库名;使用数据库

                         select database();查看当前使用的数据库

                         desc  表名;显示表结构

                         数据库表操作

                         创建表语法:

                         create table 表名(

                         字段名 类型(长度) 约束,

                         字段名 类型(长度) 约束

                         foreign key(外键名) references 连接表(参照主键) 

                         );

                        数据类型:

                        修改表添加列:

                          alter table 表名 add 列名 类型(长度) 约束;

                          alter table employee add image varchar(50);

                         修改表删除列:

                          alter table 表名 drop 列名;

                           alter table employee drop job;

                  添加数据:

                  1、插入指定列

                  insert into  表名 (列名,...)values(值1,值2...............);

                   2、插入所有列

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

                  删除数据:

                  delete from 表名 [where 条件];

                  更新数据:

                  update 表名 set [列名=值,列名2=值2] where [条件];

                  查询语句:

                  select * from 表名 [ where 条件];

                  create database 数据库名 default character set utf8 collate utf8_general_ci; 

                 set names 'utf8'; 

                 sql在mysql下的应用:

                  DML      对数据库操作                           insert、update、delete

                  DDL      对数据结构                                create、drop、alter、truncate(删除相似内容的)

                 DQL       对数据库查询                           select

                 DCL      对数据库控制                             commit、grant、rollback

                . *数据库里面的内容大小写不明感的                           

                    主键唯一,不能为空

                    primary key 主键

                    not null 不能为空

                    default 默认值

                   auto_increment 自增从1开始

                  数据库注入1=1

                  关系符:

                  =、in(,)、!=、is null、is not null、between ...........and ..............、like、

                  order by    +字段名 (默认升序 ASC)、降序 desc   可加加两个字段

                  grop by +字段名 分组

                  .distinct去重复查询:select distinct 字段名 from 表名;

                  create table student(num int primary key auto_increment, name varchar(255),clazz int not null,score int default 60) engine=innodb,charset=utf8;

                  SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

                  聚合函数:

                  avg() sum() max() min() count()、select concat('li','guo','cheng');字符串拼接

                  select  insert('字符串',起始点,长度,'替换的');

                  select lower('HKJGF');大写变小写

                  select upper('yguguf');小写变大写

                  select substring('ligguocheng','3','3');节字符串

                  高级操作:

                  临时表:查出

                   select count(name) from (select a.name,b.zw ,sum(a.money) as result from tb_gz  as a,tb_zw as b where

                    a.z_id=b.id group by a.name) as temp  where result>100000;

                    join ...........on..............

                    join链接这两个表

                    on链接两个表到的条件

                  left 、right、 inner、+join...on.....

                  rename table student  to tb_student;修改表名

                  alter table tb_zw drop des;删除列

                  alter table tb_zw  modify des int;修改表的字段结构

                  alter table tb_zw change des dee varchar(255) default 'll';修改一整列

                  alter table tb_zw add (des varchar(255));添加一列

                  pro1(inout id int)[int 默认  out ] out不带数组只拿容器