• MySQL数据库基本操作以及SQL语句


    连接mysql的语法

    mysql -u用户名 -p密码 [-h主机名] [-P端口号]
    在一个mysql服务器中, 可以有多个mysql数据库(本质是一个文件夹)
    在一个mysql数据库中, 可以有多个数据库表(本质是一个二进制文件)
    在一个mysql表中, 可以有多条记录(数据)

    SQL语法

    1. 分号结尾

    2. 不区分大小写

    3. 注释:

    -- ,#,/* */

    语句分类

    DDL 数据定义语言:定义数据库结构, 表结构

    DML 数据操作语言:增删改

    DQL 数据查询语言:查询

    DCL 数据控制语言:用户维护, 权限管理, 安全操作. 一般由DBA完成

    DDL:操作数据库、表

    数据库操作 CRUD :

    create增:

    -- 直接创建数据库 db1
    CREATE DATABASE db1;
    -- 判断是否存在,如果不存在则创建数据库 db2并指定字符集为 gbk
    CREATE DATABASE IF NOT EXISTS DB2 DEFAULT CHARACTER SET GBK;

    drop删:

    -- 删除数据库db1的语法
    DROP DATABASE db1;

    alter改:

    -- 将 db2数据库的字符集改成 utf8
    ALTER DATABASE db2 CHARACTER SET utf8;

    SELECT查:

    -- 查看正在使用的数据库
    SELECT DATABASE();

    show看:

    -- 查看数据库db2的定义信息
    SHOW CREATE DATABASE db2;

    desc显示表结构:

    use换:

    -- 改变要使用的数据库
    USE db4;

    表相关操作:

    建表语句:

    create table 表名(列的列表);
    CREATE TABLE Aniki(
    NAME VARCHAR(20),
    age INT,
    sex CHAR(1),
    old_saying VARCHAR(100),
    insert_time TIMESTAMP
    );

    datetime和timestamp的区别?

    格式一样的. timestamp不允许为null, 即使指定为null ,也会设置一个默认值, 就是当前系统时间.

    字符串类型(必须指定长度)varchar和char的区别?

    varchar(20) char(20),varchar是可变长度字符串, 指定的长度是该字符串的最大长度.
    char是定长的字符串, 指定的长度就是字符串最终的长度, 如果指定的字符串长度不足, 用空格补齐.

    DML:增删改表中数据

    插入语句:

    insert into 表名 (列的列表) values(值的列表);
    INSERT INTO Aniki (NAME,age,sex,old_saying,insert_time) VALUES ('Van', 20, '♂','DeepDarkFantasy',NULL);
    INSERT INTO Aniki (NAME,age,sex,old_saying,insert_time) VALUES ('Bili', 20, '♂','乖乖站好',NULL);

    删除语句:

    delete from 表名 where 条件
    DELETE FROM aniki WHERE NAME='Van';

    delete 和 truncate的区别?

    1. delete是DML, 而truncate是DDL. DML可以通过事务管理进行回滚, DDL不能被事务管理.
    2. delete 效率低, 是逐行删除. truncate效率非常高.

    修改语句:

    update 表名 set 列名1 = 值1, 列名2 = 值2... where 条件
    UPDATE aniki SET sex='男' WHERE NAME='Bili';

    DQL:查询表中的记录

    基础查询
    多个字段的查询
    select 字段名1,字段名2... from 表名;
    注意:
    如果查询所有字段,则可以使用*来替代字段列表。
    去除重复:distinct
    select distinct ... from ... where ... group by... having ... order by ... limit ...
    distinct去重, 只是把结果集中的重复记录去除.

    计算列:
    一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
    ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
    表达式1:哪个字段需要判断是否为null
    如果该字段为null后的替换值。
    ifnull()函数替换null值为指定值.


    起别名:
    as:as也可以省略

    条件查询

    where子句后跟条件
    运算符

    、< 、<= 、>= 、= 、<>
    BETWEEN...AND
    IN( 集合)
    IS NULL
    and 或 &&
    or 或 ||
    not 或 !

    LIKE:模糊查询

    占位符:
    %: 任意(0个或者多个)多个任意字符
    _: 一个任意字符, 有且只有一个.

  • 相关阅读:
    BZOJ3744 : Gty的妹子序列
    BZOJ2827 : 千山鸟飞绝
    BZOJ3547 : [ONTAK2010]Matchings
    BZOJ1185 : [HNOI2007]最小矩形覆盖
    BZOJ3046 : lagoon
    BZOJ3743 : [Coci2014]Kamp
    BZOJ3742 : Painting
    iOS移动开发周报-第25期
    适合码农工作时玩的游戏:Scrum
    iOS移动开发周报-第24期
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11967306.html
Copyright © 2020-2023  润新知