Mysql常用命令

1、Mysql的安装

    Ubuntu下安装mysql:sudo apt-get install mysql-server mysql-client

    Ubuntu安装mysql的开发包:sudo apt-get install libmysqlclient-dev

2、Mysql常用命令

(1)、在控制台登录本地:mysql -u username -p 

(2)、在控制台登录远程主机:mysql -h IP_Address -u username -p password;

(3)、创建数据库:create database db_name;

(4)、显示数据库:show databases;

(5)、选择数据库:use db_name;

(6)、查看当前数据库:select database();

(7)、删除数据库:drop database db_name;

(8)、显示表名:show tables;

(9)、获取表结构:desc table_name;

(10)、创建关系表:create table table_name(

                           id int not null,

                           name varchar(20),

                           salary int ,

                           roleId int,

                           primary key(id),  //主键约束

                           foreign key (roleId) references roles(id)  //外键约束,参考的表为roles中的主键id

                       );

(11)、清空表:delete from table_name;

(12)、更改表名:rename table old_name to new_name;

(13)、删除表:drop table table_name;

(14)、查询所有数据:select * from table_name;

(15)、查询前几行:select * from table_name order by id limit 0,2;           //返回1 - 2 行,0表示起始,2表示取多少行

                           select * from table_name order by id limit 2 offset 0;   //返回1-2 行,2表示取多少行,0表示偏移

(16)、插入数据:

    插入指定字段:insert into table_name(col1, col2, ... , coln) values('xxx','xxx','xxx',.......);

    插入所有字段:insert into table_name values('xxx','xxx','xxx',.......);  // 前提条件是字段顺序必须与表中字段顺序一致

    批量插入:insert into table_name values('xxx','xxx','xxx',.......),('xxx','xxx','xxx',.......), ....... ; 

    条件插入:insert into table_name(col1, col2, ,,,, coln) select val1, val2, ..., valn from dual where not exists(select * from table_name where coln = valn) ; // select语句生成一行数据存放在dual表中,但是只有后面的条件满足才这么做。

(17)、删除表中数据:delete from table_name where <expressions>;

(18)、更新表中数据:

    普通方法:update table_name set property1=value1, property2=value2 where <expressions>;

    replace函数:update table_name set col = replace(col, raw_value, new_value) where col = xxx ;

(19)、在表中增加字段:alter table table_name add property_name type_name default xxx not null;

(20)、在表中修改字段:alter table table_name change old_property new_property type_name;

(21)、在表中删除字段:alter table table_name drop column property_name;

(22)、查看所有用户:select User, Host from mysql.user;

(23)、创建用户:create user ‘username’@‘localhost’ identified by ‘password’;

(24)、删除用户:drop user ‘username’@‘localhost’;

(25)、给用户授全部权限:grant all privileges on db_name.* to username@localhost;

(26)、修改用户密码:set password for username@localhost = password('new_password');    

(27)、导入数据库:mysql -h localhost -u username -p --default-character-set=utf8  db_name < URL;

(28)、导出数据库:mysqldump -u username -p db_name > URL

(29)、导出数据库结构:mysqldump -u username -p -d db_name>URL

(30)、导出一个表:mysqldump -u username -p db_name table_name >URL

(31)、导出一个表结构:mysqldump -u username -p -d db_name table_name>URL

(注:mysqldump命令必须在操作系统的命令行才能下运行(也就是退出mysql之后运行),并且命令结尾不能加分号“;”,在mysql自带的命令行下无法运行)

(32)、创建索引

    创建普通索引:create index index_name on table_name(col);

    创建唯一索引:create unique index index_name on table_name(col);

(33)、强制和禁止使用索引:

    强制使用索引:select * from table force index(PRI, ziduan1_index) limit 2; // (强制使用索引"PRI和ziduan1_index")

    禁止使用索引:select * from table ignore index(PRI,ziduan1_index) limit 2; // (禁止使用索引"PRI,ziduan1_index")

(34)、创建视图: create view view_name(name1, name2, ..., namen) as select col1, col2, ,,,, coln from table_name where xxx ; 

(35)、删除重复记录并且只保留一条:

    select * from table_name where col not in (
        select dt.minno from
            (selec min(col) as minno from table_name group by col ) dt
    )

(36)、创建外键:alter table table_name add foreign key key_name(col) references another_table_name(col);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值