MySql常用命令

本文介绍了MySQL的基础概念,包括数据库、表的定义及基本操作命令。涵盖了字段类型、创建和管理数据库与表的方法,以及如何进行数据的增删改查等常见操作。
1、MySQL的基本概念:
database db :数据库
table : 表
db1:t1, t2, t3
db2:t2, t3, t4


2、字段类型:
http://www.runoob.com/mysql/mysql-data-types.html
整数型:int
小数型:float/double
字符:char
字符串:varchar
时间:timestamp


3、常规命令:
使用某个数据库:
use 数据库名;
查看数据库下面所有的表:
show tables;
查看某个表的表结构:
show create table 表名;
创建数据库:
create database 数据库名;
创建表:
create table 数据库名.表名(字段 类型,……)
    例如:
        create table user(
            id int,
            name varchar(128),
            memory double,
            sex char(1),
            do varchar(100),
            cretime timestamp
        )CHARSET=utf8;
删除表:
    drop table 表名;
插入数据:
insert into 数据库名.表名(列名) values(对应的值);
例如:
    insert into user(id,name,memory,sex,do,cretime) values(1,'小米',10.22,'b','在打游戏','2017-12-11 00:00:00');


    insert into user values(1,'小米',10.22,'b','在打游戏','2017-12-11 00:00:00');


    insert into user(id, name) values(1,'小米');
查询:


select 字段 from 数据库名.表名;
例如:
    select * from user;
    select * from user where id=3;
    *:查询所有的列
更新:
update 数据库名.表名 set 字段名称=新的值
例如:
    update user set sex='g' where id=1;修改id为1的数据


    update user set sex='g';修改全部的行
删除:
delete from 数据库名.表名
例如:
    delete from user;删除所有的数据,慎用
    delete from user where id=3;删除id为3的数据
排序:
order by xxx desc | asc
例如:
    select * from user order by cretime 


    select * from user order by cretime desc; 
    select * from user order by cretime asc;
只取多少行数据:
limit n
例如:
    select * from user limit 2;
聚合语法:


select 列1,列2……,sum(memory) from user group by 列1,列2…… having sum(memory) > 3000
聚合函数:


count() : 求数量
sum() : 求和
avg() : 求平均
字段别名:


as xxx
等价SQl:使用子查询语法


select * from(select dept, sum(sal) as sum_sal from salary group by dept) t where t.sum_sql > 5000;
两张表关联:


左连接:
    A left join B on A.字段=B.字段  工作中用的最多 A表数据最全 <-- B表补全
    
右连接:
    A right join B on A.字段=B.字段     A表补全 --> B表数据最全
    
内连接:
    A inner join B on A.字段=B.字段  慎用
    
注意点:
    只要满足on条件,有几行算几行
    
例如:
    select a.* b.deptno,b.dname from emp a left join dept b on a.deptno=b.deptno;


    select a.* b.deptno,b.dname from emp a right join dept b on a.deptno=b.deptno;
创建db,user


create database 数据库名;
grant all privileges on 数据库名.* to 某个用户名@'%' identified by '密码';
flush privileges;


注意点:
    只要涉及权限修改,必须执行flush privileges;


    % 允许所有的IP都可以访问(权限危险)
    192.168.%.%
    创建用户并授权,同时限制只能在某个IP或者IP段上的机器才能访问


    谨记:
        flush privileges; 或者重启MySQL服务
    
补充点:
    1.登录
        mysql -uroot -p123456 -h127.0.0.1
    2.dbeaver(企业使用的软件)
mysqladmin环境变量


vi .bash_profile
    # .bash_profile
    # Get the aliases and functions


    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi


    # User specific environment and startup programs
    export MYSQL_BASE=/usr/local/mysql
    export PATH=${MYSQL_BASE}/bin:$PATH


    PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1
以下是一些 MySQL 常用命令的分类介绍: ### 数据库连接和管理 - 连接 MySQL 服务器:`mysql -h host -u username -p`,其中 `host` 是服务器地址,`username` 是用户名,输入该命令后会提示输入密码 [^1]。 ### 数据库操作命令 - 创建数据库:`CREATE DATABASE database_name;` - 删除数据库:`DROP DATABASE database_name;` - 使用数据库:`USE database_name;` ### 数据表操作命令 - 创建表: ```sql CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); ``` - 删除表:`DROP TABLE table_name;` - 修改表结构,例如添加列:`ALTER TABLE table_name ADD column_name datatype;` ### 数据查询命令 - 基本查询: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` - 分组查询: ```sql SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING condition; ``` - 排序查询: ```sql SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC; ``` - 分页查询:`SELECT * FROM table_name LIMIT offset, count;` [^2] ### 数据修改命令 - 插入数据:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` [^3] - 更新数据: ```sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ``` - 删除数据: ```sql DELETE FROM table_name WHERE condition; ``` ### 索引管理命令 - 创建索引:`CREATE INDEX index_name ON table_name (column1, column2, ...);` - 删除索引:`DROP INDEX index_name ON table_name;` ### 用户权限管理 - 创建用户:`CREATE USER 'username'@'host' IDENTIFIED BY 'password';` - 授予权限:`GRANT privilege_type ON database_name.table_name TO 'username'@'host';` - 撤销权限:`REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';` ### 备份与恢复 - 备份数据库:`mysqldump -u username -p database_name > backup_file.sql` - 恢复数据库:`mysql -u username -p database_name < backup_file.sql` ### 性能优化命令 - 分析表:`ANALYZE TABLE table_name;` - 优化表:`OPTIMIZE TABLE table_name;` ### 系统信息查看 - 查看 MySQL 版本:`SELECT VERSION();` - 查看当前使用的数据库:`SELECT DATABASE();`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值