# 创建名为 student 的数据表,包含 id,stu_name,genderCREATE TABLE student(id int(10),stu_name char(20),gender char(10));显示如下图所示,说明创建成功 。

文章插图
然后再创建一张名为 mark 的表,表中包含学生 id 、课程名字和分数,为了让代码看起来更加的整洁美观,您可以分行输入,如下所示 。
# 创建名为 mark 的数据表CREATE TABLE mark(id int(10), # 学生 idname char(20), # 课程名grade int(10) # 课程分数);
文章插图
创建数据表后,使用 SHOW TABLES 来查看一下,我们能够看到刚才创建的两张数据表的名字 。
SHOW TABLES; # 查询所有数据表
文章插图
使用 DESCRIBE <数据表名字> 来查看创建数据表的完整信息 。
例如,我们查看一下数据表 student 的完整信息 。
DESCRIBE student;
文章插图
从上图中我们可以看到刚才创建的三个字段名,int 和 char 是 MySQL 的两种数据类型,MySQL 的数据类型有很多,不熟悉的同学,可以看一下 MySQL 的数据类型 。
在图中 Null 全都为 YES,那是因为我们没有指定列名为非空 。若我们指定列名为NOT NULL,则会显示 NO,如下所示 。

文章插图
到此,我们已经在数据库中建立了两张数据表 。接着我们需要在表中添加数据 。在表中添加数据,有 LOAD DATA 和 INSERT 两种方式 。
- LOAD DATA 是一次可以添加多条数据,可以把文本文件中的数据直接加载到数据表中 。
- INSERT 是一次增加一条新的数据 。
LOAD DATA INFILE '加载数据文件的路径' INTO TABLE 表名;使用 INSERT 语句向表中插入数据,语句格式为:INSERT INTO 表的名字(字段名1,字段名2,字段名3) VALUES(值1,值2,值3);例如,我们用 INSERT 语句向 student 和 mark 表中分别添加数据 。在 student 表中插入了四条完整的学生信息数据,如下所示 。
INSERT INTO student(id,stu_name,gender) VALUES(01,'Jack','male');INSERT INTO student(id,stu_name,gender) VALUES(02,'Candy','male');INSERT INTO student(id,stu_name,gender) VALUES(01,'Rose','Female');INSERT INTO student VALUES(04,'Ann','Famale');值得注意的是,当我们插入的数据不完整时,列名对应位置会显示为 NULL 。我们尽量不要在表格中留有空值,因为空值会降低查询的性能 。我们可以使用数字 0 去代替 NULL,关于空值的处理在后面的实验中会讲解 。插入数据后,我们使用 SELECT 语句来查看表中的完整信息 。语法格式为:SELECT * FROM <数据表名> 。

文章插图
再向 mark 表中插入数据,如下所示 。
INSERT INTO mark(id,name,grade) VALUES(01,'C++',90);INSERT INTO mark VALUES(02,'C++',80);INSERT INTO mark VALUES(03,'JAVA',90);INSERT INTO mark VALUES(04,'JAVA',50);从代码中我们可以知道,像名字这样 CHAR 类型的数据,我们需要用引号去修饰 。除了 CHAR 类型,还有 VARCHAR,TEXT,DATE,TIME,ENUM等类型的数据也需要用单引号修饰 。
文章插图
用 SELECT 语句查看一下数据是否成功添加到数据表中 。

文章插图
数据表的查询操作检索特定行的数据检索特定行的数据是通过条件限制去查询符合设定条件的一行或者多行数据 。
我们使用 SELECT * FROM <表名> WHERE <条件> 来查询特定行的数据 。
例如,我们查询一下在 student 表中,学生姓名为 Ann 的学生信息 。
SELECT * FROM student WHERE stu_name = 'Ann';
文章插图
检索特定列的数据检索特定列的数据就是通过指定字段名来查询表中某些列的数据 。我们可以使用SELECT <字段名> FROM <表名> 来查询,这里可以写入多个列名,用逗号隔开即可 。
推荐阅读
- mysql界面工具navicat premium的使用
- 数据库分类
- 第08期:有关 MySQL 字符集的注意事项
- linux终端mysql用户操作只看这篇够了
- 为什么我们要从MySQL迁移到TiDB?
- Webapi管理和性能测试工具WebBenchmark
- 单线程性能秒杀多线程!多路复用IO实现高性能网络服务
- MySQL进阶之MySQL中的锁
- 如何使用apache ab性能工具进行压力测试
- 怎么优雅的选择 MySQL 存储引擎
