您的位置:1010cc时时彩经典版 > 1010cc安卓版 > MySQL学习笔记,MySQL常用命令

MySQL学习笔记,MySQL常用命令

发布时间:2019-12-01 14:17编辑:1010cc安卓版浏览(145)

    (1)库的基本功操作

    1.user表
            要是急需从别的机器连接 mysql 服务器
    报那个错“ECR-VRO奥迪Q7 1130: Host 'root' is not allowed to connect to this MySQL server”
    咱俩供给为总是客商安装权限

    MySQL常用命令:

    启动MySQL:net start mysql
    停止MySQL:net stop mysql
    登录MySQL:mysql -h hostname -u username -p 或者mysql -u username -ppassword
    退出MySQL:exit 或者 quit

    数据库:database 表:table

    注:-- 双中写道 空格:注释(单行注释),也足以动用#号

    Mysql学习->DML和DDL语句,mysqldmlddl语句

    DDL语句:数据库定义语言,日常是对数据库的操作,create,drop,alter等

    DML语句:数据操作语言,curd操作

    DDL:

      create databases 数据库名     //创立多个数据库

      show databases 数据库名    //查看数据库

      use databases 数据库名    //使用数据库

      drop databases 数据库名     //删除数据库   删除数据库后数据库中的库和表全心得被清空

      #创办数据库

      create table 数据库名(

        column_name(字段名)  column_type(数据类型卡塔尔(قطر‎constraints(限制规范,日常为空非空暗许等卡塔尔(英语:State of Qatar)

      )

      desc 数据表名   查看数据表的新闻

      show create table 数据库表名 G   查看数据表音讯(周密) G是代表竖向排列

      drop table 数据表名     删除数据表

      #诚如对曾经创建好的表,须求做构造上的更改就要求alter table 语句

      alter table 数据表名 modify  column_name(字段名)   column_type(数据类型)     //改正表字段,只可以改革其字段类型

      alter table 数据表名 add  column_name(字段名)   column_type(数据类型)    //新添数据表字段

      alter table 数据表名 drop column column_name(字段名卡塔尔(英语:State of Qatar)             //删除数据字段

      alter table 数据表名  change column_name(列名) column_type(数据类型)        //修正字段名,可以校正字段名和字段类型,比modify多叁个成效

      alter table 数据表名 rename 表名                     //修正数据表名

      当中有first | after ,这几个三个第一字是字段排序、

    DML语句:

      insert into 表名 values(value1,value2,...卡塔尔(英语:State of Qatar)新增扩展少,values后边的相继要和字段的的排序风流罗曼蒂克致,有暗中认可值的字段,自增的字段能够不用写在values前面
      insert into 表名 (字段1,字段2) values (value1,value2)
      第三种方法得以大大晋级插入数据库的频率

      update 表名 set 字段 = value [wehere 条件] 改良数据,也得以多表一齐更新
      delete from 表名 [where 条件] 删除数据,也能够去除多表或关系的表
      删除表或更新的时候必要加更新条件,不然非常轻巧改进总体表或删除全体表

      select * from 表名 查询数据
      select distinct 字段 from 表名 查询那些表那一个字段不另行的数码
      select * from 表名 where[条件] 条件查询
      select * from 表名 order by 字段 desc|asc 排序查询,关键字是order by 当中desc是倒序排,asc是正序排
      select * from 表名 limit[条数] limit开头偏移量

      #聚合
      count 记录数
      sum 求和
      max 最大值
      min 最小值
      日常都以和GROUP BY 分组一同利用
      HAVING 对分组后的结果在进行标准的过滤

      where和having的分别在于,haveing是对集中后的结果开展标准的过滤,而where是聚合前开展了过滤,日常先用where进行过滤,在展开having过滤

      #表连接[内连接,外连接]
      内接连:仅选出两张表中互相同盟的笔录
      外接连:选出其余不相称的记录

      内连接: select * from 表1,表2, where 表1.字段名1 = 表2.字段名2
      外连接:
      左连接:满含左表中的记录和右表中未有和她同盟的记录 select * from 表1 left join 表2 on 表1.字段1 = 表2.字段2 left join
      右连接:包罗右表中的记录和左表中尚无和她合营的笔录 select * from 表1 right join 表2 on 表1.字段1 = 表2.字段2 right join

      #笔录联合UNION 和 UNION ALL的界别
      UNION ALL 是将结果集间接统风度翩翩在共同
      UNION 是将归并后的结果在一遍实行distinct(去重卡塔尔国操作

      还会有三个DCL一句是对数据库权限的操作通常为grant 和 revoke

     

     

     

     

     

      

    DDL语句:数据库定义语言,平时是对数据库的操作,create,drop,alter等 DML语句:数据操作语言,curd操作...

    • 翻开原来就有库: show databases;
    • 创造库(制订暗许字符集): ccreate database 库名 default charset=utf8;
    • 翻看创造库的话语: show create database 库名;
    • 翻开当前所在库: select database(卡塔尔(قطر‎;
    • 切换库: use 库名;
    • 查看库中原来就有表: show tables;
    • 删除库: drop database 库名;

    在mysql库 user表中

    数据库的基本操作:

    -- 库操作

    (2)表的军事拘禁

    1010cc时时彩经典版 1

    开创和查看数据库:

    创办数据库:create database 数据库名称;
    翻看全体数据库:show databases;
    翻开有些已经创制的数据库音信:show create database 数据库名称;
    改良数据库编码:alter database 数据库名称 default character set 编码格局;
    去除数据库:drop database 数据库名称;

    (一卡塔尔国创设数量库

    • 创设表(制订字符集)

     【1】Host——对应的同意访谈域(%表示全域,192.168.%.%表示对应账号对该段均可访谈,
               127.0.0.1意味着对应账号仅那台机器可访谈卡塔尔(قطر‎
    【2】User——用户名
    【3】Password——密码加密串
    【29】xxx_priv——种种权力 

    数据表的基本操作:

    注意事项:操作数据表在此以前,须要动用”use 数据库名”钦点操作哪个数据库。

    始建数据表:
    <code>
    Create table 表名
    (
    字段名1,数据类型 [完整性节制原则],
    字段名2,数据类型 [完整性节制原则],
    ...
    字段名n,数据类型 [完整性限制原则],
    );
    </code>
    查阅数据表:
    Show create table 表名;
    <code>使用describe语句查看数据表:describe 表名;可能 desc 表名;</code>
    改进数据表:
    <code>校订表名:alter table 旧表名 rename [to] 新表名;
    改善字段名:alter table 表名 change 旧字段名 新字段名 新数据类型;
    即使新字段与旧字段数据类型相符,也不能够大致,必需重写。
    纠正字段数据类型:alter table 表名 modify 字段名 数据类型;
    增添字段:alter table 表名 add 新字段名 数据类型 [自律原则] [first|after 已存在字段名];
    删除字段:alter table 表名 drop 字段名;
    订正字段的排列地方:
    alter table 表名 modify 字段名1 数据类型 first|after 字段名2;
    删去数据表:drop table 表名;
    </code>

    例:mysql> create database mystudent charset uft8;

        create table tablename(

    2.mysql默认库
    三个刚建好的mysql数据库 常常常有须臾间多少个库
    # show database;
    'information_schema'
    'mysql'
    'performance_schema'
    'test'

    表的封锁:

    主键限制:primary key;
    外键限定:foreign key;
    非空限定:not null;
    唯朝气蓬勃性约束:unique;
    私下认可值节制,用于安装字段的私下认可值:default;

    1. 主键限定:
      单字段主键:字段名 数据类型 primary key
      多字段主键:primary key(字段名1,字段名2,...,字段名n卡塔尔(قطر‎
    2. 非空限制:字段名 数据类型 not null
    3. 唯风流倜傥节制:字段名 数据类型 unique
    4. 私下认可限定:字段名 数据类型 default 暗许值

    #SQL语句报错:只会告诉客户报错的大约地点不会评释开始和结果(静默形式)

        字段名 数据类型,

    information_schema 库:
    information_schema那张数据表保存了MySQL服务器全数数据库的消息。如数据库名,数据库的表,表栏的数据类型与寻访权限等。再轻易点,那台MySQL服务器上,到底有怎样数据库、各种数据库有如何表,每张表的字段类型是怎么着,种种数据库要哪些权限本事访谈,等等消息都封存在information_schema表里面。

    设置表的字段值自动扩大:

    字段名 数据类型 auto_increment
    暗中同意景况下,该字段的值是从1早先自增的。
    索引:
    创办索引:
    创造表的时候创立索引:
    <code>
    create table 表名(
    字段名 数据类型 [完整性约束标准],
    字段名 数据类型 [完整性约束标准],
    ...
    字段名 数据类型 [完整性约束标准],
    [unique|fulltext|spatial] index|key [别名] (字段名 [(长度)]) [asc|desc]
    );
    </code>

    翻开索引是或不是被使用:explain select * from 表名 where 字段名=值 g

    1. 运用create index 语句在已经存在的表上成立索引
      <code>create [unique|fulltext|spatial] index 索引名 on 表名(字段名 [(长度)]) [asc|desc]
      </code>
    2. 选用alter table 语句在已经存在的表上制造索引:
      <code>
      Alter table 表名 add [unique|fulltext|spatial] index 索引名(字段名 [(长度)]) [asc|desc]
      </code>
      去除索引:
    3. 运用alter table 删除索引:
      Alter table 表名 drop index 索引名;
    4. 动用drop index 删除索引:
      Drop index 索引名 on 表名;

    增添,更新与删除数据:
    丰盛数据:

    1. 为表中有着字段增添数据:
      A.insert语句中钦点全数字段名
      Insert into 表名 (字段名1,字段名2,...)
      Values (值1,值2,...);
      B.insert语句中不钦定字段名
      Insert into 表名 values(值1,值2,...)
      注意事项:增多的值得顺序必得和字段在表中的定义的逐一相似
    2. 为表的钦定字段增加数据:
      Insert into 表名 (字段名1,字段名2,...)
      Values(值1,值2,...);
      多学后生可畏招:insert语句的此外写法:
      Insert into 表名
      Set 字段名1=值1[,字段名2=值2,...];
    3. 再者加上多条记下:
      <code>
      Insert into 表名 [(字段名1,字段名2,...)]
      Values (值1,值2,...),
      (值1,值2,...),
      ...
      (值1,值2,...);
      </code>

    1010cc时时彩经典版 2

        字段名 数据类型,

    mysql 库:
    mysql数据库是mysql的参数数据库,那个是mysql的骨干数据库,近似于sql server中的master表,首要担当积攒数据库的客商、权限设置、关键字等mysql自个儿索要利用的调控和保管音讯。无法去除

    履新数据:
    1. 改革部分数据
    2. 更新任何数额(不接收where语句卡塔尔国
      <code>
      Update 表名
      Set 字段名1=值1[,字段名2=值2]
      [where 条件表达式];
      </code>

    例:mysql> create database `databases` charset utf8;

        ... ...

    performance_schema 库:
    5.5 版本起 新扩大了叁个属性优化的引擎1010cc时时彩经典版,: PERFORMANCE_SCHEMA。重要用来收罗数据库服务器质量参数。MySQL客商是不能够创立存款和储蓄引擎为PEEvoqueFORMANCE_SCHEMA的表,那一个功效默许是关闭的:
    内需安装参数: performance_schema  才得以运行该意义,那个参数是静态参数,只可以写在my.cnf 中
    无法动态校订。
    Performance的展开超级粗略,在my.cnf中[mysqld]加入performanc_schema,检查质量数据库是或不是运转的指令:
    SHOW VARIABLES LIKE ‘performance_schema’;
    生机勃勃经重临的 值为ON,则印证性能数据库寻常展开状态。

    删去数据:
    1. 去除部分数据
    2. 删去全数多少(不选拔where语句卡塔尔国
      Delete from 表名 [where 条件表明式];
      多学后生可畏招:
      动用首要字truncate(截断卡塔尔删除表中数据:
      Truncate [table] 表名;
      计算:delete删除部分数据,truncate删除全体数据。

    1010cc时时彩经典版 3

        );

     

    单表查询:

    Select语句:
    <code>
    Select [distinct] *|{字段名1,字段名2,字段名3,...}
    From 表名
    [where 条件发挥式1]
    [group by 字段名 [having 条件发挥式2]]
    [order by 字段名 [asc|desc]]
    [limit [offset] 记录数];
    </code>

    #数据库名称不可能利用主要字若是非要使用需前后加上暗号 ' (esc 键上边包车型大巴键再意大利共和国语状态下输出)

    • 翻看创制表的言语(字符集)

    test 库:
    做测验使用的。

    轻松易行询问:

    询问全体字段:

    1. 在select语句中钦点全体字段:
      Select 字段名1,字段名2,... From 表名;
    2. 在select语句中动用“*”通配符替代全部字段
      Select * from 表名;

    询问钦定字段:
    <code>Select 字段名1,字段名2,...from 表名;</code>

    1.创造中文数据库

        show create table tablename;

     

    按原则查询:
    1. 带关系运算符的询问
      <code>
      Select *|字段名1,字段名2,...
      From 表名
      Where 条件表明式;
      </code>
    2. 带in关键字的查询:推断某些字段的值是还是不是在内定的集纳中
      <code>
      Select *|字段名1,字段名2,...
      From 表名
      Where 字段名 [not] in (元素1,元素2,...);
      </code>
    3. 带between and 关键字的查询:判别有个别字段的值是还是不是在内定的约束内
      <code>
      Select *|字段名1,字段名2,...
      From 表名
      Where 字段名 [not] between 值1 and 值2;
      </code>
    4. 空值查询
      <code>
      Select *|字段名1,字段名2,...
      From 表名
      Where 字段名 is [not] null;
      </code>
    5. 带distinct关键字的询问
      <code>
      Select distinct *|字段名1,字段名2,...]
      From 表名;
      </code>
    6. 带like关键字的询问
      a卡塔尔 百分号(%卡塔尔(英语:State of Qatar)通配符:相称任性长度的字符串
      b) 下划线(卡塔尔国通配符:相配单个字符
      <code>
      Select
      |字段名1,字段名2,...
      From 表名
      Where 字段名 [not] like ‘相称字符串’;
      </code>
      后生可畏旦急需相配%也许*,则应用转义字符’’,如:% 或者 _
    7. 带and关键字的多规格查询
      <code>
      Select *|字段名1,字段名2,...
      From 表名
      Where 条件表明式1 and 口径表达式2 [...and 条件发挥式3];
      </code>
    8. 带or关键字的多规格查询
      <code>
      Select *|字段名1,字段名2,...
      From 表名
      Where 条件表明式1 or 原则表明式2 [...or 条件发挥式3];
      </code>
    9. or和and关键字一齐使用的事态:
      And的事前级高于or,由此当彼此联手行使时,应该先运算and两侧的尺度表明式,再运算or两侧的标准表达式。

    例:mysql> set names gbk;

    • 查看表构造

    3..出示查看命令
    查看mysql的脚下登入客商 
    select user();

    例:mysql> create database 中文 charset utf8;

        desc tablename;

    查阅当前版本
    select  @@version ;

    1010cc时时彩经典版 4

    • 删除表

    1、显示当前数据库服务器中的数据库列表:

    #MySQL也能选拔汉语数据库.但需告诉服务器当前华语的字符集(不提议选取卡塔尔国

        drop table tablename;

    mysql> SHOW DATABASES;

    #创设数据库成功会再daya目录下创设与数据库对应名字的文件夹

    (3卡塔尔(قطر‎表记录管理

    瞩目:mysqlCurry面有MYSQL的种类消息,大家改密码和新扩张顾客,实际上便是用那几个库开展操作。

    (二卡塔尔(قطر‎查看数据库

    • 在表中插入记录

    2、展现数据库中的数据表:

    1.翻看全体数据库

        insert into tablename values(值1),(值2),...,(值N);

    mysql> USE 库名;
    mysql> SHOW TABLES;

    mysql> show databases;

    • 查询表记录

    3、呈现数据表的结构:

    1010cc时时彩经典版 5

        select * from tablename;

    mysql> DESCRIBE 表名;

    2.翻看钦定部分的多少库

        select 字段名1,字段名2,...,字段名N from tablename;

    4、突显当前日子
    mysql>select now();

    mysql> show database like [数据库名];

    (4卡塔尔(英语:State of Qatar)表字段的操作

    5、展现年月日
    SELECT DAYOFMONTH(CURRENT_DATE);
    --------------------------
    | dayofmonth(current_date) |
    --------------------------
    |                       24 |
    --------------------------
    1 row in set (0.02 sec)

    # %:表示杰出三个字符 # _:表示相称单个字符

        语法:

     SELECT MONTH(CURRENT_DATE);
    ---------------------
    | MONTH(CURRENT_DATE) |
    ---------------------
    | 9 |
    ---------------------
    1 row in set (0.00 sec)

    3.查看数据库的创建语句

          alter table tablename 施行动作;

    SELECT YEAR(CURRENT_DATE); --------------------
    | YEAR(CURRENT_DATE) |
    --------------------
    | 2009 |
    --------------------
    1 row in set (0.00 sec)

    mysql> show create database [多少库名]; #若是涉及重大字或汉语需加反引号

    • 增多字段
      •   alter table tablename add 字段名 数据类型 first | after 字段名;
    • 去除字段
      •   alter table tablename drop 字段名;
    • 改进字段数据类型
      •   alter table tablename modify 字段名 新数据类型;

     

    (三卡塔尔国更新数据库

          注: 更改数据类型时,会遭逢表中原有数据的界定!

    1. 当总括器用
      select ((4 * 4) / 10 ) 25;
      ----------------------
      | ((4 * 4) / 10 ) 25 |
      ----------------------
      | 26.60 |
      ----------------------
      1 row in set (0.00 sec)

    #数据库的名字不得以改良,数据库的改革仅限库选项:字符集和校队集

    • 修改字段名
      •   alter table tablename change 旧名 新名 数据类型;
    • 改正申明
      •   alter table tablename rename 新表明;

     

    mysql> alter database [数码库名] charset utf8;

    (5卡塔尔表记录的田间管理

     显示字符串
    mysql> SELECT "welecome to my blog!";
    ----------------------
    | welecome to my blog! |
    ----------------------
    | welecome to my blog! |
    ----------------------
    1 row in set (0.00 sec)

    (四卡塔尔(英语:State of Qatar)删除数据库

    1. 剔除表记录
      1.   delete from tablename where 条件;
    2. 履新表记录
      1.   update tablename set 字段名1=值1, 字段名2=值2,... where 条件;

    串接字符串
    select CONCAT(f_name, " ", l_name) AS Name
    from employee_data
    where title = 'Marketing Executive';
    ---------------
    | Name |
    ---------------
    | Monica Sehgal |
    | Hal Simlai |
    | Joseph Irvine |
    ---------------
    3 rows in set (0.00 sec)
    小心:这里用到CONCAT(卡塔尔函数,用来把字符串串接起来。其余,大家还用到在此以前学到的AS给结荚列'CONCAT(f_name, " ", l_name卡塔尔'起了个字母。

    mysql> drop database [多少库名];

    (6卡塔尔(英语:State of Qatar)一些特有的同盟格局

     

    #删去操作后会将数据库名字对应的文件夹风姿洒脱并剔除(级联删除:里面包车型地铁数据表全体刨除)删除数据库是不可逆的,删除需严慎

    1. 模糊相称
      1.   where 字段名 like 表达式;
      2.   表达式
        1.   _   :  相配单个字符
        2.   %  : 匹配 0 到多少个字符
    2. 正则相称 regexp
      1.   where 字段名 regexp "正则表达式";
      2.   正则表明式符号
        1.   ^ : 以...开头
        2.   $: 以...结尾
        3.   . : 相配任性四个字符
        4.   []: 包含...内容
          1.         [0-9]:相称带数字的
          2.         [a-z]:相配带小写字母的
          3.         [A-Z]
        5.   * : 星号前面的字符现身 0 次只怕再三

     

    -- 表操作

     

    (一)**创建表**

     

    例:mysql>use [数码库名]

    能够把 SQL 分为五个部分:
    ※ 数据定义语言(DDL卡塔尔(英语:State of Qatar),比如:CREATE、DROP、ALTEHaval等说话。
    ※ 数据操作语言(DML卡塔尔(英语:State of Qatar),举个例子:INSERT(插入)、UPDATE(修正)、DELETE(删除)语句。
    ※ 数据查询语言(DQL卡塔尔国,举个例子:SELECT语句。(平日不会独自归属大器晚成类,因为只有八个讲话)。
    ※ 数据调整语言(DCL卡塔尔,比方:GRANT、REVOKE等话语。
    ※ 事务调控语句(TCL),比如:COMMIT、ROLLBACK等语句

    mysql> create table [if not exists] [表名] charset utf8;

    询问和翻新指令构成了 SQL 的 DML 部分:
    SELECT - 从数据库表中获取数据
    UPDATE - 更新数据库表中的数额
    DELETE - 从数据库表中删除数据
    INSERT INTO - 向数据库表中插入数据

    或:

    本文由1010cc时时彩经典版发布于1010cc安卓版,转载请注明出处:MySQL学习笔记,MySQL常用命令

    关键词: