day2
课程
part1.对表进行的修改操作
CREATE TABLE TEST2(
id int not null auto_increment primary key,
name varchar(20),
password varchar(20)
)ENGINE="maisam";
这是对表中的引擎进行修改,现在常用的引擎为MYISAM和INNODB,它们的区别是:
CREATE TABLE TEST3(
id INT,
name VARCHAR(30)
)CHARSET="gb2312";
上面是对表中的字符集进行了修改,目前支持中文的字符集有GBK,gb2312,utf-8,但是utf-8是被使用的最广泛的字符集,因为它几乎支持所有语言
CREATE TABLE TEST4(
id INT,
name VARCHAR,
sex CHAR,
PRIMARY KEY(name,sex)
)
上面表示的是组合主键的用法,需要注意的是,单一主键使用时需要保持它的独有不重复,当使用组合主键时只需要保证两个键不全部重复即可
CREATE TABLE gongsi(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
class VARCHAR(20)
);
CREATE TABLE yuangong(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20),
sex VARCHAR(4),
sid INT,
FOREIGN KEY (sid) REFERENCES gongsi(id)
);
上面笔者显示创建了一个公司部门表,再创建了一个员工表,在员工表中使用了外键,实现了外键关联,具体有关外键关联的内容如下:
创建外键关联:是为了实现多表连接
#数据库中表的关系主要有:1对1,1对多,多对多
#对别的表没有依赖关系的表成为主表,有依赖关系的称为从表
#删除记录的时候,应该先删除从表中的记录,再删除主表中的记录
#删除表的时候,先删除从表,再删除主表
SELECT gongsi.*,yuangong.*
FROM gongsi,yuangong
WHERE gongsi.id=yuanggong.sid
这是利用等值连接进行连表查询,结果应为在公司有职位的员工的所有信息都会显示出来
ALTER TABLE TEST3 RENAME AS testtest;
这是对表名进行修改
ALTER TABLE TEST4 ADD name4 VARCHAR(30);
添加字段至表中
ALTER TABLE TEST4 MODIFY name4 INT;
修改字段的类型
ALTER TABLE TEST4 CHANGE name4 name6 INT(33);
将字段name4换为字段name6,并赋予类型
ALTER TABLE TEST4 DROP name6;
删除表中字段name6
part2.对表中数据进行管理
INSERT INTO TEST1(NAME,PASSWORD)
VALUE("LLI","SKSK");
这是在表中的数据里插入一条新的数据
INSERT INTO TEST1(NAME,PASSWORD,sex)
VALUE("SLSL","SS","男生"),("SLsL","kS","女生");
在表中插入多条数据时只需用逗号隔开,最后以分号结束
UPDATE TEST1 SET PASSWORD="WDNMD";
这种是对表中所有的PASSWORD数据进行修改,修改为"WDNMD"
UPDATE TEST1 SET sex="RENYAO"
WHERE id=2;
这种是对指定数据进行修改
UPDATE test1 SET sex="nn"
WHERE PASSWORD="88" AND NAME="liu";
UPDATE test1 SET PASSWORD="dsdsss"
WHERE NAME="ss" OR sex="nn";
这种是运用了WHERE运算符的指定修改方式AND和OR和与或的用法类似
ALTER TABLE TEST1 ADD age INT;
UPDATE TEST1 SET age=age+20;
增加了add字段后使用update进行增值操作,需注意null与任何数运算都为null
SELECT * FROM TEST1 WHERE id BETWEEN 1 and 6;
这是between的用法,用于查找指定范围内的数据
DELETE FROM test1 WHERE id=5;
这是删除id为5的数据,但是删除后主键的计数会继续进行
TRUNCATE TABLE test1;
当使用truncate进行删除时,不能使用where语句,只能将表全部删除,主键也会重新计数
练习
1.
CREATE TABLE stu(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20),
sex VARCHAR(4),
class VARCHAR(4),
phone VARCHAR(30),
place VARCHAR(30),
post VARCHAR(30),
card VARCHAR(30)
);
INSERT INTO stu(id,NAME,sex,class,phone,place,post,card)
VALUE(1011,"郭靖","男","1","13500000001","北京海淀区中关村大街1号","guojing@bdqn.cn","450323198612111000");
这题时使用INSERT INTO语句进行数据的插入
总结
今天主要学习了对表中字段和数据的增删改操作,比较基础,新手需多次练习方能熟练运用。