一、简单了解一下 mysql 的 sql 类型:
1、数据定义语言 DDL:Create、Drop、Alter 操作。用于定义库和表结构的。
2、数据操纵语言 DML:insert、update、delete。对行记录进行增删改操作。
3、数据查询语言 DQL:select。用于查询数据的。
4、数据控制语言 DCL:grant、revoke、commit、rollback。控制数据库的权限和事务。
二、数据操纵语言 DML:insert、update、delete。对行记录进行增删改操作。
数据库的C(create增)R(read查)U(update改)D(delete删)
2.1、Insert语句--使用 INSERT 语句向表中插入数据
INSERT INTO 表名(id, goods_name, price)
VALUES(10, '华为手机', 2000);
#(id, goods_name, price)表的字段(列名)
# VALUES(10, '华为手机', 2000)分别为表列变量对应赋值
#如果给全部字段赋值,表名后的()可以省略,默认按顺序逐个赋值
#如果是部分赋值,必须在表名后加上需要赋值的字段(列)
注意事项:a、插入的数据应与字段的数据类型相同,比如 把 'abc' 添加到 int 类型会错误
b、数据的长度应在列的规定范围内,例如:不能将一个长度为 80 的字符串加入到长度为 40 的列中。
c、在 values 中列出的数据位置必须与被加入的列的排列位置相对应。
d、字符和日期型数据应包含在单引号中。``
INSERT INTO `goods` (id, goods_name, price)
VALUES(40, vovo 手机, 3000); #-- 错误的 vovo 手机 应该 'vovo 手机'
e、列可以插入空值[前提是该字段允许为空]
f、insert into tab_name (列名..) values (),(),() 形式添加多条记录
g、如果是给表中的所有字段添加数据,可以不写前面的字段名称
INSERT INTO `goods` VALUES(70, 'IBM 手机', 5000);
f、默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
--如果某个列 没有指定 not null ,那么当添加数据时,没有给定值,则会默认给 null
--如果我们希望指定某个列的默认值,可以在创建表时指定
对于默认值:使用NOT NULL约束 字段名 字段类型 NOT NULL
CREATE TABLE `user`
( id INT NOT NULL DEFAULT 0,
`name` VARCHAR(255) NOT NULL DEFAULT "",
`password` VARCHAR(255) NOT NULL DEFAULT "",
`birthday` DATE NOT NULL DEFAULT "2023-01-01")CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;
2.2、update语句--使用UPDATE语句修改表中数据
注意:与ALTER 修改表中列的属性,而不是列里面的内容,如将员工表中的工资列中的薪资数增加2000,是对表中内容的修改。
UPDATE employee
SET salary = 3000
WHERE user_name = '小明'
#将小明的工资修改为3000
使用细节:a、使用UPDATE语句可以用新值替换原有表中的各列旧值;
b、SET子句可以指定要修改的列和要赋予的值
c、WHERE子句指定要更新的哪些行,如果没有WHERE将更新所有行
d、如果需要修改多个字段(列)中的内容,可以:SET 字段1 = 值1,字段2 = 值2...
2.3、delete语句--使用 DELETE 语句删除表中数据
DELETE FROM 表名
WHERE 指定删除哪一行
如删除employy表中的小明信息:
DELETE FROM employee
WHERE user_name = '小明';
#-- Delete 语句不能删除某一列的值(可使用 update 设为 null 或者 '')
UPDATE employee SET job = ''
WHERE user_name = '小明';
使用细节:a、如果不用WHERE子句,将删除表中所有数据;
b、DELETE语句不能删除某一列的值(可以使用UPDATE将值赋为NULL或"")
c、DELETE语句仅删除表中数据但会保留表的列结构,只是内容删除,不会删除表,如果要删表,请使用DROP TABLE 表名;DROP TABLE employee;
以上介绍了DML,对应的是增删改内容,查询用SELECT,是DQL,放在下次整理,涉及内容比较多