zoukankan      html  css  js  c++  java
  • mysql-5.7.25安装及常用语法

    我下的是免安装版的压缩文件包,可以选择下载.msi的程序包,那样就可以通过常见的图形界面来进行安装配置了

    参考链接:https://blog.csdn.net/qq_23994787/article/details/80648731

    注意:

    1)需要把自己创建的my.ini文件复制到bin文件夹内

    2)5.7需要在安装完成后初始化data目录

    D:mysql-5.7.25in
    λ mysqld --initialize-insecure
    

      初始化后可使用 net start mysql 启动服务

    使用:

      启动MySQL:(必须在管理员下运行命令行)

    net start mysql
    

      关闭mysql

    net stop mysql

      登录到数据库(注意启动服务和登录到数据库是两个不同的操作)当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:

    mysql -h 主机名 -u用户名 -p
    #-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
    #-p 告诉服务器使用密码模式登录
    mysql -u root -p
    

      启动成功后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录

      

      启动和关闭mysql服务器

    D:mysql-5.7.25in
    λ mysqld --console    #启动
    λ mysqladmin -uroot shutdown    #关闭
    

      更多信息参考:http://www.runoob.com/mysql/mysql-administration.html

       

    查看数据库相关信息:

      更多信息:https://www.cnblogs.com/jiangxiaobo/p/6110647.html

      或者:https://blog.csdn.net/qfire/article/details/78942856

      显示所有数据库:

    show databases;
    

      查看当前使用数据库

    select database();
    

      查看数据库使用端口

    show variables like "port";
    

     

    使用数据库 

      新建数据库

    mysql> create database test;#新建名为test的数据库
    Query OK, 1 row affected (0.09 sec)

       删除数据库

    DROP TABLE table_name ;
    

      

      选择数据库

      更多方法:https://www.cnblogs.com/zhuyongzhe/p/7686098.html

    use awesome;#使用数据库awesome
    

      

      新建表

    mysql> create table 表名 (column1 varchar(20),column2 varchar(20),column3 varchar(10));
    

      

      查看数据库中所有表

    mysql> select table_name from information_schema.tables where table_schema='awesome';#数据库名为awesome,另外这里的schema是模式的意思,我对table_schema的理解是这个表的模式、表的模板(有些不准确)就是数据库了。
    +------------+
    | table_name |
    +------------+
    | blogs      |
    | comments   |
    | users      |
    +------------+
    3 rows in set (0.01 sec)
    

      

      查看表的结构

    mysql> desc blogs;
    +------------+--------------+------+-----+---------+-------+
    | Field      | Type         | Null | Key | Default | Extra |
    +------------+--------------+------+-----+---------+-------+
    | id         | varchar(50)  | NO   | PRI | NULL    |       |
    | user_id    | varchar(50)  | NO   |     | NULL    |       |
    | user_name  | varchar(50)  | NO   |     | NULL    |       |
    | user_image | varchar(500) | NO   |     | NULL    |       |
    | name       | varchar(50)  | NO   |     | NULL    |       |
    | summary    | varchar(200) | NO   |     | NULL    |       |
    | content    | mediumtext   | NO   |     | NULL    |       |
    | created_at | double       | NO   | MUL | NULL    |       |
    +------------+--------------+------+-----+---------+-------+
    8 rows in set (0.00 sec)
    

      修改某列是否允许为空

    mysql> alter table 表名 modify column2 varchar(20) not null;#要带上字段类型,alter不要写错(alert路过)
    

      

      修改默认值

    mysql> alter table table1 alert column column1 set default 2;#设置默认值为2 注意:已有默认值会出错,需要先删除
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alert column column1 set default 2' at line 1
    mysql> alter table table2 alter column column1 drop default;
    

      

      插入数据:

    参考链接:http://www.runoob.com/mysql/mysql-insert-query.html

    #指定列名
    mysql> INSERT INTO runoob_tbl 
        -> (runoob_title, runoob_author, submission_date)
        -> VALUES
        -> ("学习 PHP", "菜鸟教程", NOW());
    #向全部列插入时可以省略列名:
    mysql> insert into users
        -> values
        -> ('005','190184155@qq.com','0000','0','起个名字','222334','1994')
        -> ;
    

      

      查询数据

    参考链接:http://www.runoob.com/mysql/mysql-select-query.html

    mysql> select * from users
        -> ;
    +-----+------------------+--------+-------+----------+--------+------------+
    | id  | email            | passwd | admin | name     | image  | created_at |
    +-----+------------------+--------+-------+----------+--------+------------+
    | 005 | 190184155@qq.com | 0000   |     0 | 起个名字 | 222334 |       1994 |
    +-----+------------------+--------+-------+----------+--------+------------+
    1 row in set (0.01 sec)
    

      若查询数据提示表不存在

    mysql> select * from blogs;
    ERROR 1146 (42S02): Table 'test.blogs' doesn't exist
    #这种通常情况下都是use这个表存在的数据库
    #还可以这样
     select * from awesome.blogs;#加上这个表所属的数据库名就行,不用use
    

      

      查询为空的数据

    mysql> select * from table1 where column2 is null;#使用is null 
    mysql> select * from table1 where column2='';#这样不可以
    mysql> select * from table1 where column2='NULL';
    

      

      修改数据

    参考数据:http://www.runoob.com/mysql/mysql-update-query.html

    mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
    mysql-> update users set admin='1' where email='11111@qq.com';#不要忘记set关键字 Query OK, 1 row affected (0.09 sec) Rows matched: 1 Changed: 1 Warnings: 0

    出现的错误:

    1)Install/Remove of the Service Denied!

    是因为没有使用管理员打开cmd原因造成的

    2)使用net start mysql 时发生系统错误5拒绝访问

    还是因为没有使用管理员运行cmd引起的

    3)运行mysql --console(启动服务器)总是会失去响应,就像睡着了一样

    不过可以选择kill all but shell来终止

    解决了,必须先启动mysql才能运行这条命令

  • 相关阅读:
    0008_Python变量
    shiro Filter过滤器管理197
    oracle 将一个数据库(A)的表导入到另一个数据库197
    top命令使用197
    SpringBoot下载Excel文件,解决文件损坏问题197
    java元注解197
    Content-Type
    centos7 下修改网络配置
    mint 20 install NVIDIA driver for 3080 via run
    使用numpy rot90操作image后,opencv cv2.rectangle 报错
  • 原文地址:https://www.cnblogs.com/Gaoqiking/p/10634851.html
Copyright © 2011-2022 走看看