数据库--MySQL增删改查

数据库相关链接:

数据库--数据类型http://t.csdn.cn/RtqMD

数据库--三大范式、多表查询、函数sql:http://t.csdn.cn/udJSG


基础的数据操作

在创建了数据库和数据库表之后,我们就可以在表中进行数据操作了。基础操作分为

  1. 添加

  2. 删除

  3. 修改

  4. 查询

以上4 种操作又简称为 CURD (Create ,Update ,Retrieve ,Delete )

一.添加数据

插入数据的类型:

  • 添加一行中所有列对应的数据,不写列名

  • 添加一行中某些列对应的数据

  • 一次性添加多行数据(批处理)

添加单条数据 ( insert into)

语法:

insert into 表名(列名A,列名B,...) values(列名A的值, 列名B的值, .....);

示例:

INSERT INTO emp(empid, ename, age, phone, email) VALUES (10001, '张三', 24, '13412345678', '[email protected]');

注意:表名后面跟了几个列名,在values中就需要有几个对应的数据值,数据与列需要对应,如果类型不匹配是无法添加成功的

批量添加多条数据

语法:

insert into 表名(列名A,列名B,...) values(列名A的值, 列名B的值, .....) , (列名A的值, 列名B的值, .....) , ..... ;

示例:

INSERT INTO `test`.`emp`(`empid`, `ename`, `age`, `phone`, `email`) VALUES (10002, '王五', 22, '13512345678', '[email protected]'), (10003, '李四', 26, '15412345178', '[email protected]')

注意事项:空字符串和 null

空字符串是有字符串内容,但是长度为0

null 则表示列中没有数据

二.查询数据 ( select )

语法:

select * / 需要查询的列名 from 表名;

星号代表指定表中的所有字段,但是并不推荐,因为在大批量数据下非常耗时。很多场景中仅需要部分字段,而且字段的先后顺序还不完全一致。

列的顺序一般是列在表定义中出现的顺序。但有时候并不是这样的,表的模式的变化(如添加或删除列)可能会导致顺序的变化。虽然使用通配符看起来很省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。

实际开发时,有的场景对列出现的顺序是有要求的,这个时候也不要使用星号。

示例:

select * from emp;

不指定列时,星号将所有列的数据都进行检索

select empid, ename, age, phone, email from emp;

查询时,显示指定列的数据

别名

使用别名的常见:

  1. 表名和列名名称太长,不便输入或者容易写错

  2. 有相同的名称

使用别名后,调用时需要使用别名,而不是原来的名字

表使用别名

给表起别名非常简单,在表名后空格,然后写别名即可

select e.empid, e.ename, e.age, e.phone, e.email from emp e;

列使用别名

列起别名的格式如下:

列名 (空格)as 别名

示例:

select empid as eid , ename, age, phone, email from emp;

也可以不添加as,中间添加一个空格即可

select empid 编号 , ename, age, phone, email from emp;

三.修改数据 ( update )

语法:

UPDATE 表名 SET 更新数据的列名 = 新值,更新数据的列名 = 新值... where 条件;

示例:

UPDATE EMP SET ENAME = 'JACK' WHERE empid = 10001;
UPDATE EMP SET ENAME = 'JACK', AGE = 33 WHERE empid = 10001;

四.删除数据 ( delete )

DELETE语句从表中删除行,甚至是删除表中所有行。但是,DELETE不删除表本身

语法:

delete from 表名 where 条件;

示例:

delete from emp where empid = 10001;

如果想从表中删除所有行,不要使用DELETE。可使用TRUNCATE TABLE语句,它完成相同的工作,但速度更快(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据) 。

注意事项

  1. SQL 语句结束的时候需要写分号正确结束

  2. SQL 语句本身不区分大小写,但是数据分大小写

问题:表数据的操作使用的是什么 SQL 语言 ?

你可能感兴趣的:(数据库,java后端,数据库,mysql)