如何使用终端操作操作数据库
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