一、mysql基础命令
1、mysql连接数据库
命令格式: mysql -h主机地址 -u用户名 -p用户密码
1)设置初始密码
//执行此命令进行初始化可以设置密码
mysql_secure_installation
也可以使用下面的方法:
输入mysqladmin -u root -p password / mysqladmin -u root -password
回车。
出现“Enter password:”,直接回车,未设置密码时默认没有密码,
接着出现“New password:”输入新的密码,回车即可,
接着出现“Confirm new password:”确认密码,回车即可。
2)连接本机mysql
windows:
mysql\bin下打开命令行窗口,使用命令mysql -u root -p,然后输入密码即可
Linux:
service mysql start
mysql -u root -p //回车输入密码即可
3)连接远程主机mysql
mysql -l 10.10.10.1 -u root -p 123
4)退出mysql
exit
2、修改mysql用户密码
mysqladmin命令用于修改用户密码。
命令格式:mysqladmin -u 用户名 -p 旧密码 password 新密码
二、数据库操作
1、对于库的操作
1)创建数据库
命令格式:create database <数据库名>;
2)显示数据库
show databases;
乱码处理:
修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk
3)删除数据库
命令格式:drop database <数据库名>;
4)使用数据库
命令格式: use <数据库名>;
2、select的一些小操作
1)显示mysql版本
MariaDB [zz]> select version();
+-------------------+
| version() |
+-------------------+
| 10.3.15-MariaDB-1 |
+-------------------+
1 row in set (0.002 sec)
2)查看用户
MariaDB [zz]> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.000 sec)
3)显示当前时间
MariaDB [zz]> select now();
+---------------------+
| now() |
+---------------------+
| 2019-07-12 17:25:10 |
+---------------------+
1 row in set (0.127 sec)
4)显示年月日
MariaDB [zz]> select year(current_date);
+--------------------+
| year(current_date) |
+--------------------+
| 2019 |
+--------------------+
1 row in set (0.000 sec)
MariaDB [zz]> select month(current_date);
+---------------------+
| month(current_date) |
+---------------------+
| 7 |
+---------------------+
1 row in set (0.000 sec)
MariaDB [zz]> select dayofmonth(current_date);
+--------------------------+
| dayofmonth(current_date) |
+--------------------------+
| 12 |
+--------------------------+
1 row in set (0.000 sec)
5)显示数字、字符串
MariaDB [zz]> select 1,2,3;
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
1 row in set (0.000 sec)
MariaDB [zz]> select 'aa','bb','cc';
+----+----+----+
| aa | bb | cc |
+----+----+----+
| aa | bb | cc |
+----+----+----+
1 row in set (0.000 sec)
6)进行计算
MariaDB [zz]> select 2*(6/3+5);
+-----------+
| 2*(6/3+5) |
+-----------+
| 14.0000 |
+-----------+
1 row in set (0.001 sec)
3、表操作
1)创建表格
命令格式:create table <表名> (<字段名1> <类型1> [,…<字段名n> <类型n>]);
MariaDB [zz]> create table gg(
-> id int(5) not null primary key auto_increment,
-> name varchar(20) not null,
-> grade double(3,2));
Query OK, 0 rows affected (0.138 sec)
2)查看表结构
desc/describe可以查看表结构
MariaDB [zz]> desc aa;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(5) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| grade | int(4) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.102 sec)
MariaDB [zz]> describe aa;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(5) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| grade | int(4) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.001 sec)
show columns from 表名也可以查看
MariaDB [zz]> show columns from aa;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(5) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| grade | int(4) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.001 sec)
3)删除表
命令格式:drop table <表名>;
4)向表中插入数据
insert into命令用于向表中插入数据。
命令格式:insert into <表名> [(<字段名1>[,…<字段名n > ])] values ( 值1 )[, ( 值n )];
MariaDB [zz]> insert into aa (id,name,grade) values (1,2,3);
Query OK, 1 row affected (0.002 sec)
MariaDB [zz]> select * from aa;
+----+------+-------+
| id | name | grade |
+----+------+-------+
| 1 | 2 | 3 |
+----+------+-------+
1 row in set (0.000 sec)
5)查询表中数据
命令格式: select <字段1, 字段2, …> from < 表名 > where < 表达式 >;
select * from table //选出所有数据
select * from table where a=b; //使用where进行条件筛选
select * from table where a=b order by id; //使用order by进行排序
select * from table where a=b order by id limit 0,1; //用limit进一步筛选
(limit m,n 表示第一条记录n是指从第m+1条开始,取n条。)
关键的sql语句需要去学习、熟练。
6)删除表中数据
delete from 表名 where 表达式
MariaDB [zz]> select * from aa;
+----+------+-------+
| id | name | grade |
+----+------+-------+
| 1 | 2 | 3 |
| 4 | 5 | 6 |
+----+------+-------+
2 rows in set (0.000 sec)
MariaDB [zz]> delete from aa where id=4;
Query OK, 1 row affected (0.124 sec)
MariaDB [zz]> select * from aa;
+----+------+-------+
| id | name | grade |
+----+------+-------+
| 1 | 2 | 3 |
+----+------+-------+
1 row in set (0.000 sec)
7)修改表中数据
update 表名 set 字段=新值,… where 条件;
MariaDB [zz]> select * from aa;
+----+------+-------+
| id | name | grade |
+----+------+-------+
| 1 | 2 | 3 |
+----+------+-------+
1 row in set (0.000 sec)
MariaDB [zz]> update aa set id=4,name=5,grade=6 where id=1;
Query OK, 1 row affected (0.003 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [zz]> select * from aa;
+----+------+-------+
| id | name | grade |
+----+------+-------+
| 4 | 5 | 6 |
+----+------+-------+
1 row in set (0.000 sec)
8)更改表属性
命令格式:alter table 表名 add字段 类型 其他;
- 添加字段:alter table aa add sex varchar(5) not null;
- 添加索引:alter table aa add index man(name);
- 修改字段属性为主关键字:alter table aa add primary key (name);
- 删除索引:alter table aa drop index man;
- 修改原字段名称及类型:alter table aa change grade grades varchar(10);
- 删除字段:alter table aa drop sex;
9)修改表名
命令格式:rename table 原表名 to 新表名;
三、数据库备份
1、导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
2、导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名