上一篇文章中我们对数据库以及表和列进行了操作,没有看过的或不了解的可以查阅上篇文章
那么在这篇文章中 我们将会使用sql中的DML数据操作语言对数据库中表的数据进行操作 话不多说 实践出真知。
我们上代码:
/* DML 数据库操作语言 主要对数据库中表的数据进行操作 增删改 增:插入一条记录 insert into 表名 列名1,列名2...values(值1,值2....) 注意: 1.列名可以在表中选择一列或几列 2.后面的值 必须和前面的列一一对应 3.在sql中 除了int 类型的数据,其他的数据必须用''或者""引起来(推荐使用'') 4.如果插入的数据所有字段都有,那么以上(列1 列2.。 ) 可以省略 删: 删除表中记录 delete from 表名 //这个删除表中所有数据都会没有 delete from 表名 where 条件 //可以指定删除某条记录 由后面的条件决定 改:修改表中的信息 update 表名 set 字段名 = 值; //这个修改是将整个字段名的值全部修改了 update 表名 set 字段名=值 where(条件);/这个修改可以选择性修改 */ #向student 表中插入一个学生的信息(sid 001 sname:李四 sage:30) USE db002;-- 这里我们将数据库修改为上篇文章使用的数据库 ALTER TABLE teacher DROP NAME; -- 删除表中的name列 RENAME TABLE teacher TO student; -- 修改表名为student -- 做了前期工作之后 我们开始正式向表中加入数据 # insert into 表名 列名1,列名2...values(值1,值2....) INSERT INTO student(sid, sname ,sage) VALUES('001','李四','30'); #向表中插入一个学生信息(sid :002 sname:王五 sage:28) INSERT INTO student(sid,sname,sage) VALUES('002','王五','28'); #4.如果插入的数据所有字段都有,那么以上(列1 列2.。 ) 可以省略 例子如下 INSERT INTO student VALUES('003','赵六','29'); #delete form 表名 //这个删除表中所有数据都会没有 DELETE FROM student; # delete from 表名 where 条件 //可以指定删除某条记录 由后面的条件决定 DELETE FROM student WHERE sid=003; -- 这里不能使用sid==003或sid.equals(003) 要明白的一点是数据库是不认是java的 #修改表中的信息 把sage这一列的值设置为 20 UPDATE student SET sage = 20; #修改表中数据,将王五的sage这一列的值改为50 UPDATE student SET sage=50 WHERE sname='王五';
通过上面的实战我们已经对DML数据库操作语言有了一个详细的了解
那么接下来我们也许要了解一下表中的细节
三个知识点:
1. 两个约束
主键约束:primary key 被约束的列必须有唯一的值,且不能为空。
自动增长约束:auto_increment 被自动增长的列 ,值可以不用管
我们上实例代码
USE db002; CREATE TABLE teacher( -- 创建教师表 `tid` INT PRIMARY KEY AUTO_INCREMENT, -- tid 教师编号 设置自增长 注意自增长只能是对int类型这种能够自增长进行约束 `tname` VARCHAR(20), -- tname 教师姓名 `tage` INT -- tage 教师年龄 ); #插入数据 INSERT INTO teacher(tname,tage) VALUES ('张三','26' ); INSERT INTO teacher(tname,tage) VALUES ('李四','28' );
2.一个面试题
删除表中所有数据的两种方式(面试题)
delete form 表名; //这个是删除表中的所有记录
truncate table 表名; //这个是删除表中所有索引,并且重置自动增长为1。
我们上实例代码
#删除表中所有记录(一) DELETE FROM teacher;-- 这个删除整个表的所有记录 #删除表中所有记录(二) TRUNCATE TABLE teacher; -- 这个删除把表中所有记索引
3.乱码问题
在dos创建查询utf8编码的数据库数据可能会出现乱码
解决方案:
临时方案:
set 出现乱码的中文字段 设置编码 ;//set name gbk
解决方案二 :
永久:修改my.ini 的配置文件 (不建议)