DML
一、什么是DML语句
DML语句就是数据库操作语句。
二、DML语句的分类
Insert
插入
Update
修改更新
Delete
删除
Select
选择
三、insert语句
Delete from 表名名称 [where 条件];
DELETE FROM project WHERE id>11
DELETE FROM project WHERE id=5
1.插入一整条记录:
Insert into 表名称(字段) values(数据);
INSERT INTO student(id,NAME) VALUES(1,'学生1');
INSERT INTO student(id,NAME) VALUES(2,'学生2');
2.一次性插入多条记录:
insert into 表名称(字段1,字段2,字段3) values(数据1,数据2,数据3),(数据1,数据2,数据3);
INSERT INTO project(pid,pname,tijiaoren) VALUES(12,'项目53',5),(13,'项目55',5);
四、update语句
Update 表名称 set 字段名=新值[,列名2=新值,…][where 条件];
//将所有偶数项目id的状态变更为是
UPDATE project SET zt='是' WHERE MOD(id,2)=0
五、delete语句
delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发。
Delete from 表名 [where 条件];
DELETE FROM project WHERE id>11
DELETE FROM project WHERE id=5
六、select语句
Select *|distinct 字段1,字段2,…… 表达式 from 表名称[where 条件]
SELECT Company FROM orders //表中如果有相同的值,则都会被列
SELECT DISTINCT Company FROM Orders //表中如果有相同的值,这只会显示一个
SELECT * FROM Orders //显示表中所有的值
//子查询作为操作数
SELECT (SELECT id FROM student WHERE id=1) FROM DUAL
//子查询作为条件
SELECT * FROM project WHERE tijiaoren>(SELECT 2 FROM DUAL)
//子查询作为数据表使用
SELECT * FROM (SELECT * FROM project , student WHERE project.tijiaoren=student.id) a WHERE a.name LIKE '%3%'
//多列比较
SELECT (3,2)
//笛卡尔积
SELECT * FROM 表名称1,表名称2
//内连接(保留两表中on相匹配的值)
SELECT * FROM 表名称1 inner join 表名称2 ON 表名称1.字段=表名称2.字段;
//左外连接(保留表1中的值给表2补null)
SELECT * FROM 表名称1 left join 表名称2 ON 表名称1.字段=表名称2.字段
//右外连接(保留表2中的值给表1补null)
SELECT * FROM 表名称1 RIGHT JOIN 表名称2 ON 表名称1.字段=表名称2.字段
//全外连接(保留两个表的值,分别补null)
SELECT * FROM 表名称1 LEFT JOIN 表名称2 ON 表名称1.字段=表名称2.字段
相关阅读
先看看两张表:mysql> select * from black1;
+----------+
| id |
+----------+
| zhangsan |
| lisi |
| wangwu |
+
.索引的作用
一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易
**一、效率高的写法
**1.无ORDER BY排序的写法。(效率最高)(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几
但是我发现每次重启mysql服务,这些设置就恢复成默认的设置latin1
解决方法很简单:在mysql的配置文件my.ini写下character-set-
1.在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。
2.在安装Mysql数据库的主