zoukankan      html  css  js  c++  java
  • mysql基本命令总结

    1.在Ubuntu上安装MYSQL

    sudo apt-get install mysql-server

    sudo apt-get install mysql-client

    2.安装结束后,用命令验证是否安装并启动成功

    sudo netstat -tap | grep mysql

    通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

    3.安装完成后,在/etc/mysql/debian.cnf目录下可以查看里面的用户名和密码

    4.打开MYSQL服务

    sudo service mysql start

    5.使用某个用户登录数据库

    mysql -u 用户名 -p 密码

    6.新建数据库

    CREATE DATABASE 数据库名;

    7.查看当前的数据库

    SHOW DATABASES;

    8.选择连接其中一个数据库

    USE 数据库名;

    9.查看表

    SHOW TABLES;

    10.新建数据表

    CREATE TABLE 表的名字

    列名a 数据类型(数据长度),

    列名b 数据类型(数据长度),

    列名c 数据类型(数据长度)

    );

    11.查看当前的数据表

    show tables;

    12.查看表中的内容

    SELECT * FROM 表名;

    13.向表中插入数据

    INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);

    注意:数据类型为CHAR,VARCHAR,TEXT,DATE,TIME,ENUM等类型的数据需要单引号修饰,而INT,FLOAT,DOUBLE等则不需要。

    14.删除数据库

    DROP DATABASE 数据库名

    15.若存储学生信息,有两人姓名,身高,年龄都相同,无法区分,则需用到主键作为唯一的标识符,准确定位到一行,因此主键不能有重复记录且不能为空。

    定义主键的方法如下

    CREATE TABLE employee

    (

    id INT(10) PRIMARY KEY,

    name CHAR(20)

    )

    16.默认值约束,当DEFAULT 约束的列,插入数据为空时,将使用默认值。

    people_num INT(10) DEFAULT'10'

    17.唯一约束,规定一张表中指定的一列的值必须不能有重复值。

    UNIQUE(列名)

    18.非空约束

    列名 数据类型(数据长度)NOT NULL

    19.外键约束

    一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。

    FOREIGN KEY (外键列名)REFERENCES 表名(列名)

    20.SELECT 语句格式:

    SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;

    WHERE限制条件可以有数学符号(=,<,>,<=,>=),也可以有逻辑关系(OR,AND),关键字IN,NOT IN.

    关键字 LIKE 可用于实现模糊查询,常见于搜索功能中。和 LIKE 联用的通常还有通配符,SQL中的通配符是 _ 和 % 。其中 _ 代表一个未指定字符,% 代表不定个未指定字符

    21.对结果排序

    ORDER BY 排序的关键字 ASC(生序)或者DESC(降序)

    13.重命名一张表

    RENAME TABLE 原名 TO 新名字;

    ALTER TABLE 原名 RENAME 新名;

    ALTER TABLE 原名 RENAME TO 新名字;

    14.删除一张表

    DROP TABLE 表的名字;

    15.增加一列(默认增加到最后面)

    ALTER TABLE 表名字 ADD COLUMN 列名字 数据类型 约束;

    ALTER TABLE 表名字 ADD 列名字 数据类型 约束;

    把新增加的列插入在指定表名后面的位置

    ALTER TABLE 表名字 ADD 列名字 数据类型 约束 AFTER 指定表名;

    把新增加的列放在第一列的位置

    ALTER TABLE 表名字 ADD 列名字 数据类型 约束 FIRST;

    16.删除一列

    ALTER TABLE 表名 DROP COLUMN 列名字;

    ALTER TABLE 表名 DROP 列名字;

    17.重命名一列

    ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型 约束;

    该指令也可用来修改数据类型

    18.改变数据类型

    ALTER TABLE 表名 MODIFY 列名字 新数据类型;

    19.修改表中某个值

    UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;

    20.删除一行记录

    DELETE FROM 表名字 WHERE 条件;

    21.索引

    当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录。这样做会消耗大量数据库系统时间,并造成大量磁盘 I/O 操作。

    而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据,可以大大加快查询速度。

    一些字段不适合创建索引,比如性别,这个字段存在大量的重复记录无法享受索引带来的速度加成,甚至会拖累数据库,导致数据冗余和额外的 CPU 开销。

    建立索引:

    ALTER TABLE 表名字 ADD INDEX 索引名(列名);

    CREATE INDEX 索引名 ON 表名字(列名);

    22.视图

    视图是一个虚拟的表,依赖于原来表中的数据,一旦原来表中的数据发生改变,显示在视图中的数据也会改变,使用时可以把它当做一张表。

    创建视图的语句:

    CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;

    23.导入纯数据文件

    LOAD DATA INFILE ’文件路径和文件名‘ INTO TABLE 表名字;

    【注意】若出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement。可以在infile 前面加上 Local 即可解决。

    SQL语句的导入方式

    source *.sql

    24.导出

    SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;

    25.备份

    备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。

    使用mysqldump 备份的语句(在终端中执行)

    mysqldump -u root 数据库名>备份文件名;

    mysqldump -u root 数据库名 表名字> 备份文件名;

    26.恢复

    首先先建数据库

    CREATE DATABASE 数据库名;

    然后在终端输入 mysql -u root 数据库名<备份文件名

  • 相关阅读:
    前端下载图片到本地
    小程序复制文本
    小程序的分享
    vue简单的父子组件之间传值
    git新的远程分支同步到本地
    C#使用RabbitMq队列(Sample,Work,Fanout,Direct等模式的简单使用)
    别再眼高手低了! 这些Linq方法都清楚地掌握了吗?
    Asp.NetCore 3.1 使用AutoMapper自动映射转换实体 DTO,Data2ViewModel
    .NetCore使用Redis,StackExchange.Redis队列,发布与订阅,分布式锁的简单使用
    core的 Linq基本使用,简单模拟数据库多表的左右内连接的测试
  • 原文地址:https://www.cnblogs.com/levelstrcpy/p/10547684.html
Copyright © 2011-2022 走看看