如何使用终端操作操作数据库

1、登录和退出MySQL服务器

# 登录MySQL

 net start mysql

 mysql -uroot -p 用来登陆数据库,回车后输入密码可进入数据库

# 退出MySQL数据库服务器
  
 exit;

2 、如何查询数据库服务器中所有数据库?

输入 mysql> show databases;

3、如何选中某一个数据库进行操作?

  • 创建一个数据库 create database +‘数据库名字’ + character set utf8

          mysql> create database 'test' character set utf8;

         其中的character set utf8 用来设定编码,可以防止数据出现乱码*。

         若出现汉字无法添加的情况,将my.ini文件character-set-server和default-character-se改成gbk。

  • 删除一个数据库 drop databases + 数据库的名字 ;

         mysql> drop database test; 删除我们刚才创建的表

  • 切换数据库 use+数据库的名字 ;

       再把刚才的数据库创建回来,对这个test数据库操作前需要

mysql> use test; 我们就选中了这个数据库我们就选中了这个数据库

4、数据表

a、查看一下我们这个数据库里面的表 mysql> show tables; 显然结果是: Empty set (0.00 sec)里面没有表

b、创建一个数据表

mysql> CREATE TABLE pet (      #其中pet是数据表的名字,括号内是数据字段name、owner...
name VARCHAR(20),        #VARCHAR是字符类型 
owner VARCHAR(20),       #括号内是限制字符个数
species VARCHAR(20),
sex CHAR(1),
birth DATE,
death DATE);

表就创建好了,再 show table;可以看到我们创建的表。

c、查看数据表的结构 mysql> describe pet; 

d、查看数据表中的记录 mysql> select * from pet;   #selsct表示查询,*表示所有,from指查询的表   显然返回时空的

e、向数据表中添加数据记录,方法为 INSERT INTO + 表名

mysql> INSERT INTO pet     
    -> VALUES('xiaoming','father','human','m','1999-01-23',NULL);  #按照数据字段的顺序输入
Query OK, 1 row affected (0.32 sec)

OK~添加成功,再 select * from pet ;看一眼,果然添加进去了

再加汉字属性试试有无乱码情况:

mysql> INSERT INTO pet
    -> VALUES('蔡徐坤','篮球','人','男','1998-08-08',NULL);
Query OK, 1 row affected (0.31 sec)

mysql> select * from pet ;
+----------+--------+---------+------+------------+-------+
| name     | owner  | species | sex  | birth      | death |
+----------+--------+---------+------+------------+-------+
| puffball | Diane  | hamster | f    | 1990-03-30 | NULL  |
| xiaoming | father | human   | m    | 1999-01-23 | NULL  |
| 蔡徐坤   | 篮球   | 人      | 男   | 1998-08-08 | NULL  |
+----------+--------+---------+------+------------+-------+
3 rows in set (0.00 sec)

5、mysql常用的数据类型

mysql支持多种类型,大致分为三类:数值日期/时间字符串(字符)类型

a数值

参考 [ https://www.runoob.com/mysql/mysql-data-types.html ]菜鸟教程里面的内容
里面有各种数据类型,和它的取值范围;举例如下:

由资料可是TINYINT类型有符号范围为(-128,127);这里创建一个表:

#创建一个表
mysql> CREATE TABLE testType(
    -> number TINYINT
    -> );        
Query OK, 0 rows affected (0.98 sec)

#添加内容(127在范围内)
mysql> INSERT INTO testType VALUES(127);
Query OK, 1 row affected (0.57 sec)
mysql> select * from testType;     
+--------+
| number |
+--------+
|    127 |
+--------+
1 row in set (0.00 sec)

#当添加128时会报错,注意范围!
mysql> INSERT INTO testType VALUES (128);   
ERROR 1264 (22003): Out of range value for column 'number' at row 1

b日期和时间
具体格式看菜鸟教程中的格式进行输入

c字符串
参考菜鸟教程

总结:数值、字符串按照大小,日期时间按照格式.

6、如何删除、修改数据?

a删除数据

执行命令 执行命令 mysql> delete from + 表 + where name=’ 要删除的数据 ’ ;

mysql> DELETE FROM pet where name = 'squirrel';
Query OK, 1 rows affected (0.33 sec)

再次查看pet表:

mysql> select * from pet;
+----------+--------+---------+------+------------+-------+
| name     | owner  | species | sex  | birth      | death |
+----------+--------+---------+------+------------+-------+
| xiaoming | father | human   | m    | 1999-01-23 | NULL  |
| 蔡徐坤   | 篮球   | 人      | 男   | 1998-08-08 | NULL  |
+----------+--------+---------+------+------------+-------+
2 rows in set (0.00 sec)

b修改数据

假如我们要修改蔡徐坤的性别

mysql> update pet set sex='公' where name ='蔡徐坤';
Query OK, 1 row affected (2.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

查看是否修改成功:

mysql> select * from pet;
+----------+--------+---------+------+------------+-------+
| name     | owner  | species | sex  | birth      | death |
+----------+--------+---------+------+------------+-------+
| xiaoming | father | human   | m    | 1999-01-23 | NULL  |
| 蔡徐坤   | 篮球   | 人      | 公   | 1998-08-08 | NULL  |
+----------+--------+---------+------+------------+-------+
2 rows in set (0.00 sec)

小结:数据记录的常见操作(增删改查)

增加:INSERT

删除:DELETE

修改: UPDATE

查询:SELECT