Mysql入门

 

1、安装完后添加环境变量 bin目录下 mysql.exe 开始运行

    mysql -uroot -p -hlocalhost        连接mysql  -u用户  -p密码  -h主机地址 (注意后面不要带空格)

2、数据库概念   数据库(databases) 数据表(table) 字段也叫列(column)(字段类型)    行 (row)

3、数据类型常用大概几种

int类型

 根据数字大小 一般常用的 记住int() 

 

浮点类型

   一般用金额记住decimal(m,d)他不会四舍五入

字符串类型

      常用类型:char(长度)  定长 不够空格不全   多了截掉     最大0-255字节

                        varchar(长度) 可变长度 根据设置的长度自动调整   最大  0-65535字节

                        text(长度)  最大  0-65535字节

时间类型

  常用的 timestamp

 

 

字段名类型修饰

运算符

= (负值和判断都是 )      !   =     < >   <=    >=    

or (||)或    and(&&)并    between ... and  在什么范围内并   in(1,2,3,4)里面有返回true否则false not in(1,2,3,4)相反

 

SQL语句分类

DDL 数据库 和表的定义相关操作

  查看所有数据库   SHOW DATABASES

  切换数据库          USE 数据库名

  创建数据库          CREATE DATABASE 数据库名

  删除数据库          DROP DATABASE 数据库名     

             (表的定义

  创建表前先选择进入数据库   USE 库名

  创建数据表及结构      CREATE  TABLE  表名(列名 列类型 其他修饰关键词 ,.... , 列名 列类型)英文逗号分隔为一个字段

  查看当前数据库的表   SHOW TABLES ;

  查看表结构                  DESC 表名

  查看创建表的sql语句  SHOW CREATE TABLE 表名

  删除表                         DTOP TABLE 表名 

  添加表的字段            alter table 表名 add 字段名 数据类型;  after  字段名 (表示加到哪个字段后面 不写默认加到最后)

  删除表的字段            alter table 表名 drop 字段名 ; 

  修改表的类型和名     alter table 表名 change 字段名 要改的名  数据类型(如:int(10) not null);改名同时后面也可以改类型

  修改表的字段名         alter table  表名  rename  column 原名 to  新名

  修改表字段的类型     alter table  表名 modify 字段名  要改的类型(如:varchar(10));

 

DML 表的记录相关操作(增删改)

插入    INSERT INTO 表名 (key,key)  VALUES('值','值') ;

更新    update 表名 set 字段=值  where  id=1;(加条件 否则全部修改)条件语句多样

删除    delete from 表名 where id=1;  (加条件否则全删,数据全部删除后表字段结构还在) 自增id依然从之前开始

删表    truncate  表名    这样删除整表数据都删了 数据依然可以插入 自增id会从1开始

 

DCL数据控制和用户权限

   控制权限

   一般是运维使用的 如果没有运维一般我们用超级用户root连接  但是线上一般不允许使用root超级用户    首先只指定一个特定的IP连接 其他的都不让连接保证数据库的安全性 

   1、连接数据库  然后 show databases查看数据库  里面有个‘mysql’库自带的不能乱动里面存了一些权限的东西                      进去mysql库 use mysql  进去后    查询那些表 show tables  里面有个user 里面存的能连接地址 有127.0.0.1,::1, localhost,三个地址   分别把两个删除只留下一个默认的localhost   delete from user where host='::1' host='127.0.0.1'  你也可以修改成你指定的IP连接 比如你的数据库和服务器不是一台主机 设置一个可以连接的IP  这样就达到了指定连接         然后刷新权限  flush privileges  一定要刷新权限

   2、修改密码   同样实在mysql 库 user表里面   updata  password user set  password=password('admin')  where user = 'root';   password()表示加密    记得  flush privileges 才生效。    还有一种修改密码的方法 mysqladmin -uroot -h127.0.0.1 -padmin password 123456     admin 改123456

   3、如果忘记密码   (1)先停止mysql  (2) cmd终端输入 mysqld --skip-grant-tables      # 表示跳过权限表,执行后会开启一个进程  (3)在新开一个cmd终端输入:mysql    # 此时即可进入mysql  (4)在按照上面方法1更改新密码   (5)按ctrl +c 关闭步骤2里的进程  (6)再启动mysql,用新密码进入mysql

   创建用户

     1、创建用户 同样进去mysql user表  create user  用户名  @'192.168.1.101  identified by '123456' (此用户只能在指定的ip地址上使用 ) 

如果你想让用户不限制地址  那么你可以设置地址为 ' % ' 一般我们不这样做不安全   创建的用户 是进去的 use mysql库的   flush privileges 刷新权限   

     2、分配权限   grant  update,insert, delete  on test.*  to 用户名 @’192.168.1.101‘ ;  (权限用逗号隔开 ,                      on 数据库名.* 表示库里面所以的表 ,然后指定那个用户及IP地址)

     3、撤销权限   revoke  select,alter on test.* from 用户名  @’192.168.1.101‘  

     4、如果想给所有的数据库 就用    *.*    给所有的权限就给 ALL  PRIVILEGES    一般不建议用

     5、同时创建用户和授权  grant  All on text.* to 用户名  @’192.168.1.101‘  identified by '123456'

     6、查看权限  show grants for 用户名 @ip地址

     7    删除用户  drop user 用户名 @ip地址

 

DQL数据的查询

      

    select * from test  where  id=1    这是最简单的查询  你想要哪些字段你就用字段名去代替星号※  from 表名

    过滤到重复值  select distinct  字段 from 表  ;

    字段连接     select  concat(name,age) from 表 ;   ->   name18   

    字段连接用个连接符     select  concat_ws('===',name,age) from 表 ;   ->   name===18   

    查询出列 修改展示名  select  name as '姓名' from  表   (不是修改的表中的只是临时的)

    查询值中包含什么(模糊查询)  select  * from where name like  '%hello%'    如果只写前面%号表示以hello结尾的只写后面便是以hello开头 前后都写表示是否包含  。                                                         ( sphinx)基于mysql全文搜索引擎

    排序聚合分组查询

           排序  #select  * from 表名 order by id desc ( asc升序) ,   计算总数   #select conun(*) from 表名   

           计算总和  # select sum(age)  from 表名 ;  ,      计算平均值   #select avg(age)  from 表名      

           最大值     #select max(age)  from 表名 ;     ,     最小值    #select mim(age)  from 表名

           分组查询: select * from 表名 group by 字段 ; (按字段分组  可以配合 having 用)

      连接查询

      

        联合查询   

       

        限制查询条数

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值