Mysql操作基础

数据库:保存和处理数据
1:种类Mysql    Sql Server   DB2   Oracel
SQL语句

打开终端
yum   -y   install   mysql-server   mysql        安装Mysql
service   mysqld    start            启动mysql服务
mysql   -uroot                 登录mysql

数据库---数据表---数据
文件夹层级关系
服务端
客户端
数据是以excel表格的形式保存的
文本数据:varchar(100)
数字数据:int
ERROR    错误提示



增删改查
1:show   databases;                    查看当前服务器有哪些数据库
2:create  database  库名;                    创建一个数据库
3:use   库名;                        选择/进入一个数据库
4:show   tables;                        查看当前库有哪些表格
5:create   table   表名(列名   类型);                  创建一个数据表
      create   table   abc(姓名 varchar(100),年龄  int,性别 varchar(100));
6:select  *  from 表名;                        查询表数据
7:desc   表名;                        查询表结构
8:insert   into   表名  values(值1,值2);                       添加数据
     insert   into   abc  values('张三',20,'男');
     insert   into   表名(列名)  values(值);                指定列添加数据
9:drop database  库名;                    删除表/库
      drop  table  表名;
10:delete  from 表名;                    删除数据
     拷贝数据:create   table   库名.新表名  select  *  from  旧表名;
11:update   表名   set  列名='值';
     update   stu   set  姓名='张三';               更改数据(整列)
     update   stu   set  姓名='张三'  where  年龄=30 or 性别='男';           更改数据(指定数据)

     条件表达式       where  列名='值'
     =     是
     !=    不是
     >   <    >=   <=
     and    和
     or       或
where  姓名='张三'  and  性别='男'


select   函数   
   其他函数:
   -聚合函数
       对结果集进一步处理:求和,求平均,统计数量,最大值,最小值
       sum(列名):求当前列所有数据的和
       avg(字段名):     求当前列所有数据的平均值
       count(字段名): 求当前列所有数据的数量
       max(字段名):求当前列所有数据中的最大值
       min(字段名):求当前列所有数据中的最小值
       select   sum(sal)   from  emp;
   -空值函数
    语法:
    ifnull(列名,把null替换成要显示的信息):当字段的值为null时,取第二个参数的值
                                                                   当字段的值不为null时,直接使用当前字段的值


4.函数的使用方法:
   1)单独测试
     select 函数的名字;
     select concat('好好学习','天天向上');
   2)  嵌套测试
     select 函数名称( 另一个函数名称());
     select length(trim('  hello  '));

   字符串(文字):
       concat(字符串1,字符串2,字符串3):字符串拼接
       length(字符串):输出字符串的字节长度(空格也占用一个字符长度)
       upper(字符串):将字符串全部大写
       lower(字符串):将字符串全部小写
       substring(字符串,开始位置,截取的长度):截取指定位置的字符串
       trim(字符串):去除字符串两边的空格
       ltrim(字符串):去除字符串左边的空格
       rtrim(字符串):去除字符串右边的空格
       replace(字符串,被替换的字符串,替换成的字符串):字符串替换
       strcmp(字符串1,字符串2):比较两个字符串的大小(按文字编码比较)
    中文>英文>数字>符号

   数值:
       ceil(小数):向上取整
       floor(小数):向下取整
       mod(数值1,数值2):对数值1和数值2进行取余运算
select   mod(3,2)
       rand():生成0-1之间的随机数
       round(小数,保留几位小数):对数值按照保留指定小数位进行四舍五入

   时间:
       now():获取当前时间年月日时分秒
       curdate():获取当前时间中的年月日
       curtime():获取当前时间中的时分秒
       year(now()):获取当前年
       month(指定时间):获取当前月
       day(指定时间):获取当前日
       hour(指定时间):获取当前时
       minute(指定时间):获取当前分钟
       second(指定时间):获取当前秒
       week(指定时间):获取现在是当前年的第几周
       weekday(指定时间):获取今天是周几

数据表的备份
   是创建表和查询表语句的结合
   语法:
   create table 新表名 as select * from 原表名;
   复制emp表,新表名为emp_copy
   复制dept表,新表名为dept_copy
   查看mydb里所有表

1.分组查询
   语法:
   group by 分组的字段  having 过滤条件
   group  by  deptno,sex
   规则:
   1)有几行相同规则的字段才能分组
   2)把相同规则的字段分组以后形成单行单列的结果
   3)having过滤条件可以根据情况选择性添加
   4)  多字段分组group by 字段1,字段2
2.SQL语句关键字的执行顺序:
   from -----> where----->gorup by---->having ----->select ----->order by ---->limit

数据表的字段修改
describe   表名;
1:增加列
alter  table  表名  add  column  列名  类型;
指定位置添加列
alter  table  表名  add  column  列名  类型  after  列名;
2:删除列
alter   table   表名   drop  column  列名;
3:重命名表
alter   table  表名  rename  to   新表名;
4:修改列
alter  table   表名   change  column  列名   新列名   新数据类型;

mysql  用户管理和权限设置
1:在root用户下新建普通用户
create  user   'zs'@'localhost'   identified   by  '1234';
2:查看用户权限
show  grants  for  'zs'@'localhost';
grant   usage   on  *.*   to   'zs'@'localhost'
3:授予用户权限
grant  create  on  a.*  to  'zs'@'localhost';    授予用户创建库a权限
4:回收用户权限
revoke  create  on  a.*  from  'zs'@'localhost';    回收用户创建库a权限
5:对列的操作权限
grant  alter  on  a.*  to  'zs'@'localhost';
6:授予用户创建新用户的权限
grant   create  user  on  *.*  to 'zs'@'localhost';
7:刷新权限表
flush  privileges;
8:授予用户'将自己权限授予另一个用户'的权限
grant  create   on  a.*   to   'B'@'localhost'  with  grant  option;    A    
grant  create  on  a.*  to 'C'@'localhost' identified  by  '1234';    B    A    B    C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值