zoukankan      html  css  js  c++  java
  • MySQL8.0-基础操作

    一、 MySQL基础操作

    • 添加系统服务: mysqld -- install 服务名(一般设置为mysql)

    • 启动服务: net start mysql

    • 关闭服务: net stop mysql

    • 连接到mysql服务端: mysql -h 服务端IP地址 -P 3306 -u root -p 密码

    • 本机连接: mysql -u root -p 密码
      mysql.ini 中[mysql]配置客户端连接的时候,指定一下用户名和密码,那么我们在进行mysql客户端连接的时候,直接输入mysql然后回车就可以了,并且用户是我们下面指定的root用户
      user=root
      password=666

    • 查看当前用户: select user();

    • 设置密码: alter user 'root'@'localhost' identified by '123';

    • 查看mysql版本: select version();

    • 查看mysql初始信息: s;

    • 查看各角色的编码: show variables like "%char%";

    • 查看数据文件存储路径: show global variables like "%datadir%";

    • 查看库创建语句: show create database 库名G;

    • 查看表创建语句: show create table 表名G;

    • cmd命令输错换行时退出的方法: c

    二、 MySQL增删改查

    库的操作:

    • 增:
      create database db;

    • 查:
      show databases;  查看所有的库

    show create database db1;  查看单独某个库的信息

    • 改:
      alter database db1 charset latin1;  修改库的字符集

    • 删:
      drop database db1;

    • 切换库:
      user db;

    • 查看当前所在的库:
      select database();

    表的操作:

    • 增:
      create table t1 (id int, name char(10));

    • 查:
      show tables;  查看当前库中的所有表

    show create table t1;  查看单表的创建信息

    desc t1;  以列表形式查看单表信息

    • 改:
      alter table t1 modify name char(3);

    alter table t1 change name name1 char(2);

    • 删:
      drop table t1;

    • 清空表:

    delete from t1;  如果有自增id,新增的数据,仍然是以删除前的最后一行作为起始。

    truncate table t1;  数据量大,删除速度比上一条快,且直接从零开始,

    行的操作:

    • 增:
      insert into t1 values (1,"张三"), (2,"李四");

    • 查:
      select * from t1;  查看t1表的所有字段数据

    select id, name from t1; 查看t1表的id, name字段的信息

    • 改:
      update t1 set name="王五" where id=2;

    • 删:
      delete from t1 where id=1;

    三、 数据库迁移

    • 复制数据库:

    • 复制数据库中所有的内容

      mysqldump -u root -p --all-databases > db.sql

    • 复制数据库中的某几个库

      mysqldump -u root -p --databases 库名1 库名2 > db.sql

    • 复制数据库中的某张表

      mysqldump -u root -p 库名 表名1 表名2 > db_table.sql

    • 还原数据库:

    mysql -u root -p < db.sql

    • 复制表:

    • 只复制表结构到新表

      creare table 新表名 select * from 库名.旧表名 where 1=2   主键类型和自增方式是不会复制过去的

      create table 新表名 like 库名.旧表名   把旧表的所有字段类型都复制到新表

    • 复制表结构及数据到新表

      create table 新表 select * from 旧表名

    • 复制旧表的数据结构到新表(两个表结构一样)

    insert into 新表 select * from 旧表

    • 复制旧表的数据结构到新表(两个表结构不一样)

    insert into 新表 (字段1, 字段2......) select 字段1, 字段2...... from 旧表

  • 相关阅读:
    502 IPO 上市
    501 Find Mode in Binary Search Tree
    500 Keyboard Row 键盘行
    498 Diagonal Traverse 对角线遍历
    Django_modelform组件
    Django_RBAC_demo2 升级版权限控制组件
    Django admin组件源码流程
    Django_rbac_demo 权限控制组件框架模型
    Django_重装系统后无法使用 sqlite 数据库报错:com.intellij.execution.ExecutionException: Exception in thread "main" java.lang.ClassNotFoundException: org.sqlite.JDBC
    python_面向对象小试题
  • 原文地址:https://www.cnblogs.com/guyannanfei/p/10932780.html
Copyright © 2011-2022 走看看