linux环境
在大多数系统中,SQL 语句都是不区分大小写的
#打开 MySQL 服务
sudo service mysql start
#使用 root 用户登录,密码为空
mysql -u root
新建一个数据库(别忘了加;)
CREATE DATABASE <数据库名字>;
CREATE DATABASE student_id;
接下来的操作,首先要连接数据库,使用语句 use <数据库名字>;
use student_id;
输入命令 show tables; 可以查看当前数据库里有几张表
数据表(table)简称表,它是数据库最重要的组成部分之一。一个数据库中一般会有多张表,这些各自独立的表通过建立关系被联接起来,才成为可以交叉查阅、一目了然的数据库。
新建数据表
在数据库中新建一张表的语句格式为:
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
我们尝试在 student_id中新建一张表 student_1,包含姓名,ID 和电话信息,所以语句为
CREATE TABLE student_1 (id int(10),name char(20),phone int(12));
为了整洁也可以分行输入。
数据类型
整数除了 INT 外,还有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。
CHAR 和 VARCHAR 的区别: CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用4个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。
ENUM和SET的区别: ENUM 类型的数据的值,必须是定义时枚举的值的其中之一,即单选,而 SET 类型的值则可以多选。
插入数据
刚才我们新建了两张表,使用语句 SELECT * FROM student_1; 查看表中的内容,表中现在还是空的
我们通过 INSERT 语句向表中插入数据,语句格式为:
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
例如:(这里数据表为employee)
INSERT INTO employee(id,name,phone) VALUES(01,'Tom',110110110);
INSERT INTO employee VALUES(02,'Jack',119119119);
INSERT INTO employee(id,name) VALUES(03,'Rose');
第一条语句比第二条语句多了一部分:(id,name,phone) 这个括号里列出的,是将要添加的数据 (01,‘Tom’,110110110) 其中每个值在表中对应的列。而第三条语句只添加了 (id,name) 两列的数据,所以在表中Rose的phone为NULL。