第一步当然是启动MySQL并登录,这里我使用的是root账号。
service mysql start mysql -u root -p创建数据库:
CREATE DATABASE KI;//数据库名字为KI使用刚刚创建的数据库:
use KI这样就切换到数据库KI了。
通过status;命令可以查看当前数据库的信息;
以在数据库KI下创建数据表为例:
创建数据表shoplist:
CREATE TABLE shoplist(name CHAR(20),price DOUBLE);这里创建了一个名为shoplist的表,具有两个属性:name和price,他们分别为 长度为20的CHAR类型数据和DOUBLE类型数据。
在MySQL有较多的数据类型,如果有学习过SAS的同学应该了解SAS的DATA步,MySQL中的数据类型基本上和SAS的DATA步的数据格式基本相同。
MySQL的常用数据格式:
数据类型大小(字节)用途格式INT4整数FLOAT4单精度浮点数DOUBLE8双精度浮点数ENUM单选,比如性别ENUM(“a”,”b”,”c”)SET多选SET(“1”,”2”,”3”)DATE3日期YYYY-MM-DDYEAR1年份值YYYYTIME3时间点或者持续时间HH:MM:SSCHAR0~255定长字符串VARCHAR0~255变长字符串TEXT0~65535长文本数据其中VARCHAR与CHAR的差别在于VARCHAR的长度根据字符串的本身的长度来存储。但是需要多一位字节来存储字符长度。
除了以上的数据格式,其实还有很多数据格式,各位可以移步至官方文档查看:
https://dev.mysql.com/doc/refman/5.7/en/data-types.html
然后在创建了数据表之后,我们可以通过INSERT命令来插入数据:
我打算购买一个10块钱的苹果,所以:
INSERT INTO shoplist(name,price) VALUES("apple",10.0);然后我想买一台iPhone,但是我不知道它的价格,所以:
INSERT INTO shoplist(name) VALUES("iPhone");现在我们可以通过子查询来查看这个表中的数据情况:
SELECT * FROM shoplist;结果如下:
mysql> SELECT * FROM shoplist -> ; +--------+-------+ | name | price | +--------+-------+ | apple | 10 | | iPhone | NULL | +--------+-------+ 2 rows in set (0.00 sec)可以看见其中iPhone对应的Price为NULL,代表iPhone的价格空缺。
在创建表的时候可以通过规定属性的格式。
常见的约束:
约束类型:主键默认值唯一外键非空关键字:PRIMARY KEYDEFAULTUNIQUEFOREIGN KEYNOT NULL意义:可以作为行的唯一标识如果缺少输入则为默认值值不允许重复表明两个表之间存在相同的属性值不允许在创建表格的时候:
主键: CREATE TABLE shoplist(name CHAR(20) PRIMARY KEY,price DOUBLE); 默认值: CREATE TABLE shoplist(name CHAR(20),price DOUBLE DEFAULT 10); 唯一: CREATE TABLE shoplist(name CHAR(20) UNIQUE,price DOUBLE); 外键: CREATE TABLE shoplist(name CHAR(20),CONSTRAINT product_name FOREIGN KEY(name) REFERENCES products(name));//假设存在products表中有name属性。 非空: CREATE TABLE shoplist(name char(20) NOT NULL,price NOT NULL);如果在插入或者修改的时候违反了以上的约束,那么MySQL就会报错。