zoukankan      html  css  js  c++  java
  • MySQL 命令行操作教程

    1.登录mysql

    [root@host]# mysql -u root -p
    Enter password:******
    

    2.管理MySQL的命令

    (1)SHOW DATABASES:

    列出 MySQL 数据库管理系统的数据库列表。
    

    (2)USE 数据库名 :

    选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
    

    (3)SHOW TABLES:

    显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
    

    (4)SHOW COLUMNS FROM 数据表:

    显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
    

    (5)SHOW INDEX FROM 数据表:

    显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
    

    (6)SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:

    该命令将输出Mysql数据库管理系统的性能及统计信息。
    
    mysql> SHOW TABLE STATUS  FROM RUNOOB;   # 显示数据库 RUNOOB 中所有表的信息
    mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%';     # 表名以runoob开头的表的信息
    mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G;   # 加上 \G,查询结果按列打印
    

    3.DDL 操作表

    (1)创建部门表

    create table t_dept(dept_id int primary key auto_increment,dept_name varchar(20) not null);
    

    (2)创建员工表

    drop table if exists t_emp;  如果这个表存在删除后重新创建
    create table t_emp(emp_id int primary key auto_increment,emp_name varchar(20) not null,emp_sex char(3) not null,dept_id int not null);
    

    (3)添加外键约束

    alter table t_emp add constraint FK_EMP_DEPT foreign key(dept_id) references t_dept(dept_id);
    

    (4)给员工表添加薪资列

    alter table t_emp add(emp_salary int(5) not null);
    alter table t_emp add(emp_mail varchar(30) not null);
    -- 如果增加一列,并且这一列有默认值,而且是非空列
    alter table t_emp add (emp_mail varchar(30) not null default 'default@mail.com');
    


    (5)修改列 [modify只能修改列的类型和约束默认值,change可以修改列的名及类型和约束]

    alter table t_emp modify emp_salary double(6,1) not null; // 99999.9
    alter table t_emp change emp_salary salary double(5,1) not null;
    


    (6)删除列

    alter table t_emp drop emp_mail;
    

    (6重命名表名

    alter table t_emp rename to tb_emp;
    

    4.DML(数据操作语言INSERT, DELETE, UPDATE)

    主要对数据库中表的数据操作

    1.增加数据(insert into 表名名称(字段名1,字段名2,.....) values (值1,值2,.....)

    -- 插入指定字段的值-> 前提: 没有插入的字段是可以为null或者有默认值
       insert into tb_emp (emp_name, emp_sex, emp_mail) values ('信誉昂','男','xinyang@hp.com');
       -- 插入所有字段
       insert into tb_emp (emp_name, emp_sex, dept_id, salary, emp_mail) values ('张三','女',2,5000,'zhangsan@hp.com');
       insert into tb_emp values (null,'大乔','女',2,5000,'zhangsan@hp.com');
       -- 批量插入
       insert into tb_emp values (null,'赵柳','男',2,5000,'zhangsan@hp.com'),(null,'阳阳','女',2,6000,'zhangsan@hp.com');
    

    2.删除数据(delete from 表名 <where 删除条件>)

       -- 按照条件删除(经常使用)
       delete from tb_emp where emp_id = 1;
       -- 删除所有数据(学习的时候尝试一下,开发中禁止使用)
       delete from t_login; -- 删除表中所有数据,不会重置主键值
       -- 清空表,重置主键值
       truncate table t_login;
    

    3.修改数据(update 表名 set 字段名1 = 值1, 字段名2 = 值2,..... [where 修改条件])

       -- 修改字段值
       update tb_emp set emp_mail='daqiao@hp.com' where emp_id = 10002;
       update tb_emp set emp_mail='xiaoqiao@hp.com',dept_id = 1 where emp_id = 10001;
       
       --不带条件的修改[修改必须带上条件]
       update tb_emp set salary = 8000;
    

    5.DCL(数据控制语言)

    (1)创建用户(CREATE USER '账号'@'主机名/IP' IDENTIFIED BY '密码'

    // 没有任何操作数据表的权限
    create user 'sun'@'localhost' identified by '123';
    

    (2)授予用户权限(GRANT privileges ON databasename.tablename TO 'username'@'host')

    注意: host必须和创建用户使用host是一致。
    // 授予sun用户拥有testdb数据中tb_emp表查询权限
    grant select on test.tb_emp to 'sun'@'localhost';
    

    (3)撤销用户权限(REVOKE privileges on databasename.tablename from 'username'@'host')

    // 撤销sun用户查询权限
    revoke select on test.tb_emp from 'sun'@'localhost';
    

    6.使用手动事务(https://blog.csdn.net/u012440687/article/details/52116108)

    1、show variables like 'autocommit' --查询事务是否为自动提交
    2、set autocommit = 0;              -- 关闭自动提交
       set autocommit = on;
    注意: 数据中默认是一条SQL语句为一个事务。
    
    事务生命周期:全部提交或者回滚事务的生命周期结束
    事务开始 -> 回滚事务 rollback
    事务开始 -> 提交事务 commit
    
  • 相关阅读:
    phpstorm Failed to create JVM:error code -4
    php内置函数
    多少
    php 正则
    php 数组 array
    位运算题
    c标准库函数 strcat
    strcpy c标准库函数
    编写一个删除c语言程序文件中所有的注释语句
    杂记
  • 原文地址:https://www.cnblogs.com/sunBinary/p/12416792.html
Copyright © 2011-2022 走看看