mysql入门

MySQL基础操作指南

                        mysql入门

一、用户的创建、删除及密码修改

    1、新建用户

登陆mysql数据库

    root@localhost ~]# mysql -u root -p (-u 后跟登入的用户名,-p 提示要密码登入)

    Enter password:(输入密码)

登陆了数据库后,可以增加新用户了

    mysql> insert into mysql.user(Host,User,Password) values(“localhost”,”wei”,password(“wei123″));

    mysql>flush privileges;(刷新系统权限表)

    2、删除用户

还是如上面一样先用root用户登陆数据库,进去数据库后

    mysql>delete from mysql.user where user ='wei’ ;

    mysql>flush privileges; (刷新系统权限表)

    3、修改用户密码

    [root@localhost ~] #mysqladmin -u root -p password 123456 (password 后跟的是要更新的新密码)

    Enter password:(输入原始密码,回车即可)

    其他用户修改密码方式和root一致。

 

二、数据库的创建与删除

    1、登陆mysql数据库

在终端输入命令:

            mysql -主机名 用户名 -p

            eg:mysql -u root -p

按回车后,会提示输入密码。

    2、创建空的数据库

            mysql > create database 数据库名;

            eg : mysql > create database wei;    //创建了一个名为wei的数据库

    3、删除数据库

            mysql > drop database 数据库名;

             eg : mysql > drop database wei;    //删除了一个名为wei的数据库

    4、使用数据库

            mysql > use 数据库名;

            eg : mysql > use wei;    //使用数据库wei

    5、数据库导出

            mysqldump -u 用户名 -p 数据库名 > 数据库名.sql

            mysql导出select结果到文件:

                    mysql -hxx -uxx -pxx -e "query statement" db > file 

                    例如: mysql -h127.0.0.1 -uroot -p000000 -e"select * from a" test > 1.txt         

                    这样会输出列名信息,如果不想输出列名信息:  mysql -h127.0.0.1 -uroot -p000000 -N -e"select * from a" test > 1.txt 

            mysql导出某张表:

             mysqldump -uroot -pdbpasswd -d dbname test>db.sql;(不含数据)

              mysqldump -uroot -pdbpasswd dbname test>db.sql;(包含数据)

    6、数据库导入

            mysql > source 文件名.sql

            or

            mysql -uroot -pdbpasswd -h127.0.0.1 dbname < db.sql

 

三、表的相关操作

    1、创建新的数据表

            用create命令创建新的数据表:            

             create table tbl_name

            eg:创建一个用户表,

            mysql > create table user (

                > id int(4) not null primary key auto_increment,

                > username char(20) not null,

                > password char(20) not null,        

                > sex int(4) not null default'0');         

        设置id为主键。(auto_increment :自动增加)

    2、获取表结构

            desc命令用于获取数据表结构。

                desc tbl_name;

            或者是

                show colunms from tbl_name;       

    3、 删除数据表

            drop table tbl_name;

    4、修改表名

            alter table tbl_name rename new_tbl;

    5、对列的操作

            1)增加列:alter table tbl_name add col_name type;

            2)删除列:alter table tbl_name drop col_name;

            3)改变列:  

                    改变列的属性

                        alter table tbl_name modify col_name new_type;

                         或是

                        alter table tbl_name change col_name col_name new_type;

                    改变列的名字

                        alter table tbl_name change old_col_name col_name;

    6、查询

            1)查询所有行:

                        命令格式:select <字段1,字段2> from <表名> where <表达式>;

                        eg:查看表user中的所有数据:select * from user;

            2)查询前几行数据:

                        eg:查看user的前3行数据:select * from user order by id limit 0,3;

            3)查看最后一行数据:

                        eg:查看最后一行数据:

                                        select * from user order by id desc limit 1;

                                查看username为"wei"的最后一行数据:

                                        select * from user where username = 'wei' order by id desc limit 1;

 

     7、记数count

                count 是计算表中的记录条数,如果我有一个名叫msg的表

MariaDB [wei]> select * from msg;

+----+----------+---------------------+-------------+

| id | username | time                | message     |

+----+----------+---------------------+-------------+

|  1 | wei      | 2015-04-23 11:36:05 | hello!world |

|  2 | wei      | 2015-04-23 11:36:22 | hello!world |

|  3 | cheng    | 2015-04-23 15:05:05 | hello!world |

|  4 | cheng    | 2015-04-23 15:05:22 | hello!      |

+----+----------+---------------------+-------------+

            在这个表中记录了用户发送的消息记录,我想知道wei这个用户发了多少条消息,我可以用这个语句:

MariaDB [wei]> select count(*) from msg where username = 'wei';

它会给我这样一个结果:

+----------+

| count(*) |

+----------+

|        2 |

+----------+

            如果这个你觉得还不够明显,可以在加几个字让它多输出一点

MariaDB [wei]> select username,count(*) from msg where username = 'wei';

然后

+----------+----------+

| username | count(*) |

+----------+----------+

| wei      |        2 |

+----------+----------+

比刚刚的多输出了一个用户名,当表现的更加明显了。

 

    8、清空表中的数据

truncate table mytable;

清空后,表的id从1开始

 

四、索引的建立

数据库索引是一种数据结构,目的是提高表的操作速度。可以使用一个或多个列,提供快速随机查找和访问记录的高效排序来创建索引。

1、普通索引

CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...);

2、唯一索引

CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author)

 

五、修改默认端口

cd /etc/mysql

sudo gedit my.cnf

将 port = 3306 修改想要修改的端口

 

Plus:

mysql > show table status from DB_name;

            显示数据库DB_name所有表的信息;

mysql > show create table tbl_name;

            显示表tbl_name创建时的信息

另外,这里有一篇关于 mysql 数据类型的blog以及UNSIGNED注意事项

 

转载于:https://my.oschina.net/bobwei/blog/359345

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值