mysql学习笔记一

一、 如何使用终端操作数据库
  1. 如何登陆数据库服务器(数据库账户密码都为root)
mysql -uroot -proot
  1. 如何查询数据库服务器中所有的数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| chapter09          |
| chengji            |
| mysql              |
| performance_schema |
| student_design     |
| studentsystem      |
| test               |
| test0305           |
+--------------------+
9 rows in set (1.74 sec)
  1. 如何选中某一个数据库进行操作(这里操作的数据库名为test)
    在进行删除,修改,查询操作之前需要指定数据库,指定你所需要的数据库才可以进行操作,否则会报错。
mysql> use test;
Database changed
  1. 查询test数据库中student表的全部内容
mysql> select * from student;
+------+------+------+------+------+---------------------+---------------------+
| 学号    | 姓名     | 班级    | 年龄     | 成绩    | 插入时间                   | 更新时间                   |
+------+------+------+------+------+---------------------+---------------------+
| 1    | s    | 1    |   18 |   86 | 2018-08-06 00:00:00 | 2018-08-06 00:00:00 |
| 2    | s    | 1    |   17 |   96 | 2018-08-06 00:00:00 | 2018-08-07 00:00:00 |
| 3    | w    | 1    |   15 |   45 | 2018-08-06 00:00:00 | 2018-08-06 00:00:00 |
| 4    | l    | 1    |   17 |   98 | 2018-08-07 00:00:00 | 2018-08-07 00:00:00 |
+------+------+------+------+------+---------------------+---------------------+
4 rows in set (0.06 sec)
  1. 查询test数据库中student表中学号为1的学生信息
mysql> select * from student where 学号 = '1';
+------+------+------+------+------+---------------------+---------------------+
| 学号    | 姓名     | 班级    | 年龄     | 成绩    | 插入时间                   | 更新时间                   |
+------+------+------+------+------+---------------------+---------------------+
| 1    | s    | 1    |   18 |   86 | 2018-08-06 00:00:00 | 2018-08-06 00:00:00 |
+------+------+------+------+------+---------------------+---------------------+
1 row in set (0.00 sec)

若列名为中文,在终端使用查询语句出错时(报错格式如下),使用下面语句进行修改编码,再使用查询语句进行查询即可

mysql> select * from student where 学号 = '1';
ERROR 1300 (HY000): Invalid utf8 character string: '\xD1\xA7\xBA'
mysql> set character_set_client=gb2312;
Query OK, 0 rows affected (0.00 sec)
  1. 如何在数据库服务器中创建以及删除我们的数据库(数据库名为shop)
mysql> create database shop;
Query OK, 1 row affected (0.02 sec)
mysql> drop database shop;
Query OK, 0 rows affected (1.65 sec)
  1. 如何创建数据表
mysql> use shop;
mysql> create table milk(
    -> name varchar(20),
    -> price int(15),
    -> num int(30),
    -> date date);
Query OK, 0 rows affected (1.68 sec)
  1. 查询某数据库下的所有数据表
mysql> show tables;
+----------------+
| Tables_in_shop |
+----------------+
| milk           |
+----------------+
1 row in set (0.00 sec)
  1. 查看创建好的数据表的结构
mysql> describe milk;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| price | int(15)     | YES  |     | NULL    |       |
| num   | int(30)     | YES  |     | NULL    |       |
| date  | date        | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.03 sec)
  1. 如何往数据表中添加数据记录
mysql> insert into milk values ('yili',30,432,'2019-12-21');
Query OK, 1 row affected (0.01 sec)
  1. 如何在数据表中修改数据(将milk表中日期为'2019-12-21'的牛奶名字改为‘mengniu’)
mysql> update milk set name='mengniu' where date='2019-12-21';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  1. 如何在数据表中删除数据(将milk表中名字为'mengniu'的记录删除)
mysql> delete from milk where name='mengniu';
Query OK, 1 row affected (0.01 sec)
  1. 如何删除数据表
mysql> drop table milk;
Query OK, 0 rows affected (0.01 sec)
  1. 如何退出MySQL
mysql> exit;
Bye

C:\Users\lenovo>

注意:使用的字符编码设置不匹配就会出现乱码,因为中文操作系统默认字符集是GB2312,所以需要把输出窗口使用的字符编码改成GB2312才能够正常显示中文。
若查询出的内容为乱码,则使用以下语句修改编码使内容正常显示

set character_set_results=gb2312;

二、 MySQL数据类型
MySQL支持多种类型,大致可以分为3类:数值,日期,字符串(字符)类型。

  1. 数值类型
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
DOUBLE 8 字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
  1. 日期类型


    image.png
  2. 字符串类型


    image.png

你可能感兴趣的:(mysql学习笔记一)