Mysql 基础

创建用户:

  create user 'xxx'@'%' indentified by '123'

授权:

  grant 这个权限 只有root有

  grant all privileges on *。* to 'xxx'@'%';

  revoke all privileges on *.* from 'xxx'@'%';

sql基本语法:

  对数据库:

    增:

      create database db1;

    删:

      drop database

    改:

      alter database db1 charset gbk;

    查:

      show create database db1;

      show databases;

  对表:

    use db1; 切换文件夹

    select database();  查看文件所在文件夹

    增:

      create table ti(id int,name char);

    删:

      drop table t1;

    改:

      alter table t1 modify name char(6);    modify:修改

      alter table t1 change name NAMA char(7);

    查:

      查看当前ti表:

        show create table t1;

      查看所有表:

        show tables;

      查看表的详细信息:

        desc t1;

    复制表:

      - 新创建

        create database db1 ;

      -使用db1

        use db1;

      - 复制db2.a1的表结构和记录

        create table b1 select * from db2.a1;

      - 只要表结构 ,不要记录

        create table b2 select *fro db2.a1 where 1>5;

        给一个where 条件 ,条件要求不成立,只拷贝表结构

        - 也可以用 like;

          create table b3 like db2.a1;

  对数据:

    增:

      insert into ti(id,name) values(1,'aaa'),(2,'bbb'),(3,'ccc');

    删:

      delete from ti;

      delete from ti where id = 2;

     改:

      update db1.t1 set name = 'zhangsan';

      update db1.t1 set name = 'kawayi' where id=2;

    查:

      select id from db1.t1;

      select id,name from db1.t1;

      select * from db1.t1;

数据类型:

  1 数字

    整形:  tinyint   int  bigint

      tinyint: 有符号 :-128 ~ 127

          无符号: 0 ~ 255

          sql中没有boolean类型  使用tinyint(1)来表示boolean值  1 表示true  0 表示false

      int:   定义int类型不需要加宽度,使用默认就可以

    小数:

      float:在位数比较短的情况下不精准

      double:在位数比较长的情况下不精准

      decimal: 推荐用这个小数  因为精准

  2 字符串

    char(10):浪费空间  存取速度快   (定常)

      字符串范围长度:0~255  存储char类型的值时:会往右填充空格来满足长度

    varchar:精准,节省时间,存取速度慢   (变长)

      字符长度范围:0~65535  存储数据的真是内容,不会用空格填充

    sql优化:创建表时,定长的类型往前放,变长的往后放

      >255个字符,超了就把文件路径存放到数据库中。

      比如图片,视频灯找一个文件服务器,数据库中只存路径或url。

    length(); 查看字节数

    char_length(): 查看字符数

  3 时间类型:

    year   date    time    datetime:

      now()  sql的内置函数,根据数据类型生成对应的时间格式

  4 enum 枚举  表示多选一

      - 只能在给定的范围内选一个值,如性别sex 男male/女female

   set  集合  表示多选一 或者多选多

      - 在给定的范围内可以选择一个或一个以上的值

      

原文地址:https://www.cnblogs.com/lzmdbk/p/9776757.html