数据库--MySQL增删改查
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
数据库相关链接
数据库--数据类型http://t.csdn.cn/RtqMD
数据库--三大范式、多表查询、函数sqlhttp://t.csdn.cn/udJSG
基础的数据操作
在创建了数据库和数据库表之后我们就可以在表中进行数据操作了。基础操作分为
-
添加
-
删除
-
修改
-
查询
以上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', 'zs@863.com');
注意表名后面跟了几个列名在values中就需要有几个对应的数据值数据与列需要对应如果类型不匹配是无法添加成功的
批量添加多条数据
语法
insert into 表名(列名A,列名B,...) values(列名A的值, 列名B的值, .....) , (列名A的值, 列名B的值, .....) , ..... ;
示例
INSERT INTO `test`.`emp`(`empid`, `ename`, `age`, `phone`, `email`) VALUES (10002, '王五', 22, '13512345678', 'wwu@863.com'), (10003, '李四', 26, '15412345178', 'ls@863.com')
注意事项空字符串和 null
空字符串是有字符串内容但是长度为0
null 则表示列中没有数据
二.查询数据 ( select )
语法
select * / 需要查询的列名 from 表名;
星号代表指定表中的所有字段但是并不推荐因为在大批量数据下非常耗时。很多场景中仅需要部分字段而且字段的先后顺序还不完全一致。
列的顺序一般是列在表定义中出现的顺序。但有时候并不是这样的表的模式的变化如添加或删除列可能会导致顺序的变化。虽然使用通配符看起来很省事不用明确列出所需列但检索不需要的列通常会降低检索和应用程序的性能。
实际开发时有的场景对列出现的顺序是有要求的这个时候也不要使用星号。
示例
select * from emp;
不指定列时星号将所有列的数据都进行检索
select empid, ename, age, phone, email from emp;
查询时显示指定列的数据
别名
使用别名的常见
-
表名和列名名称太长不便输入或者容易写错
-
有相同的名称
使用别名后调用时需要使用别名而不是原来的名字
表使用别名
给表起别名非常简单在表名后空格然后写别名即可
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实际是删除原来的表并重新创建一个表而不是逐行删除表中的数据 。
注意事项
-
SQL 语句结束的时候需要写分号正确结束
-
SQL 语句本身不区分大小写但是数据分大小写
问题表数据的操作使用的是什么 SQL 语言