1.创建一个表:
主键id | 用户名 | 性别 | 体重(kg) | 生日 | 工资 | 上次登陆时间 | 个人简介 |
--术语:建表的过程就是声明字段过程。声明数据类型。
CREATE TABLE homework(
id INT(10) NOT NULL PRIMARY KEY
)ENGINE=INNODB DEFAULT CHARSET=utf8;
-- 建表取名原则:
- 表名、列名不能有空格和中文。
- 不能以数字开头
- 表一般都有前缀。以下划线分隔。
- 列名要见名思议。
- 列名带上注释。
2.创建一个表头并修改列
--在表中增加列:
ALTER TABLE 表名 ADD 列名 列数据类型(长度) 是否为空 DEFAULT
ALTER TABLE homework ADD NAME VARCHAR(20)
--新增一列到指定的某一列后面
ALTER TABLE 表名 ADD 列名 数据类型(长度) AFTER 列名;
ALTER TABLE homework ADD sex CHAR(1) AFTER NAME;
--最前面加上一列
ALTER TABLE 表名 ADD 列名
数据类型(长度)
FIRST;
ALTER TABLE homework ADD number INT(2) FIRST;
--删除一列
ALTER TABLE 表名 DROP 列名;
ALTER TABLE homework DROP number;
--查看表的结构
DESC 表名;
DESC homework;
--修改列类型
ALTER TABLE 表名 MODIFY 数据类型(长度);
ALTER TABLE homework MODIFY weight DECIMAL(3,2);
--修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名
数据类型(长度);
ALTER TABLE homework CHANGE jianjie jieshao VARCHAR(30);
数值类型:
浮点类型:
decimal(5,2) 5是精度,2是标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的
位数。
时间类型:
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第
一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,
将TIMESTAMP列设置为当前的日期和时间。
sysdate() 函数,获取数据库时间。
3.数据的处理
- 新增(insert)
--向homework表中插入一条数据,只插入主键和姓名:
INSERT INTO表名(主键列名,姓名列名) VALUES(主键数据,'姓名');
INSERT INTO homework(id,NAME) VALUES(11,'小明');
--向homework表中插入一条数据,所有值都插入值:
INSERT INTO homework VALUES(每一列的数据,用逗号隔开);
INSERT INTO homework VALUES(77,'小画','女',55.366,19990826,12233.346,SYSDATE(),'经理');
#注意:
1.
主键不能重复
2.非空的列必须要插入值。
3.所有列都插入值的话,表名后面可以不带括号。
- 删除(delete)
--根据名字来删除homework表中的小明:
DELETE FROM 表名 WHERE 名字列名='数据名';
#注意:
id是主键,所以一个id代表一条数据。
--删除表中性别为女且都是经理的人:
DELETE FROM 表名 WHERE 性别列名='女' AND 列名='经理';
DELETE FROM homework WHERE sex='女' AND jieshao='经理';
- 更新 (update)
--更新表中姓名为小琴的人的体重:
UPDATE 表名 SET 体重列明=数据 姓名列名 ='姓名' AND 主键=数据;
--更新表中所有人的备注都为员工:
UPDATE 表名 SET 备注列名='数据';
--更新表中小华的性别改为男、体重75、介绍为经理:
UPDATE 表名SET sex='男',weight=70,jieshao='经理' WHERE NAME='小华';
- 查询 (select)
--查询所有人的姓名:
SELECT 列名 FROM 表名;
--查询所有人的信息:
--查询所有员工的姓名和性别:
SELECT 姓名列名 ,性别列名 FROM 表名 WHERE 列名='数据';