数据库中对数据的增删改查

CREATE TABLE test_myisam(
 tid INT
)ENGINE=MYISAM
插入单挑数据:
语法:INSERT INTO 表名 [(字段名列表)] VALUES (值列表);
/* 注意
字段名是可选的,如省略则依次插入所有字段
多个列表和多个值之间使用逗号分隔
值列表和字段名列表一一对应
如插入的是表中部分数据,字段名列表必填
*/
单行插入
#(`loginPwd`,`studentName`,`gradeId`,`phone`,`bornDate`)
INSERT INTO `studentl`  #studentl:;库名
VALUES('01001','123','黄小平','女','1','13956799999','花果山','1996-5-8',NULL,13072119930722,'牛牛');
多行插入 就是把每条数据用 逗号连接  封号结尾

查询表数据:
CREATE TABLE new_phone(
    SELECT `studentName`,`phone`
    FROM `studentl`);

在 new_phone 中查看

/*new_phone必须存在, new_phone中列
的数据类型要和原表的数据类型一致*/
INSERT INTO new_phone(studentName,phone)
SELECT
studentName,phone
FROM studentl

数据更新(修改)
/*UPDATE 表名
SET 字段1=值1,字段2=值2,…,字段n=值n
[WHERE 条件];
*/
UPDATE studentl SET sex = '女';
UPDATE studentl SET gradeid=3,loginPwd='123456'
WHERE studentlNo>20010
#基本匹配机制 逐行匹配

#数据删除
DELETE FROM new_phone
WHERE sid>3 AND LENGTH(studentName)=6 #6=两个字节!

TRUNCATE 语句删除后将重置自增列,表结构及其字段、约束、索引保持不变,
执行速度比DELETE语句快(即:一般不用,因为它如同删除表,所有数据全没了

USE youran
CREATE TABLE xuexi(
 编号 INT(4) PRIMARY KEY ,
 科目名: VARCHAR(50) NOT NULL,
 课时数 VARCHAR(20) NOT NULL ,
 学期编号 INT(4)  UNSIGNED
)COMMENT='葫芦岛特训';
INSERT INTO `xuexi`
VALUES (1,'黄小平','1',1996),(2,'黄小平1','1',1997),(3,'黄小平2','1',1998);

查询表中所有列
SELECT * FROM xuexi


/*
AVG() 返回某字段的平均值
COUNT() 返回某字段的行数
MAX() 返回某字段的最大值
MIN()  返回某字段的最小值
SUM()  返回某字段的和
*/
#统计  某列  产生一个结果
SELECT AVG(`studentResult`) AS '平均成绩',
       COUNT(*) AS '参加人数',
       MAX(studentResult) AS 最高,
       MIN(studentResult) AS 最低
       SUM(studentResult) AS 总和
FROM`result`

字符串连接
SELECT CONCAT('周','大','刚')      
字符串替换   原,开始 ,长度 新
SELECT INSERT('很多的',1,2,'好玩')
将字符串转为小写
SELECT LOWER('HELLO MYSQL')
SELECT UPPER(LOWER('HWLLO MYSQL'))
字符串 截取
SELECT LOWER(SUBSTRING('HELLO MYSQL',7,5))
#从第7位开始,长度是5 即:从1开始数。

时间 日期函数

当前日期

SELECT CURDATE()
获取当前时间
SELECT CURTIME()
获取当前的日期和时间
SELECT NOW()
返回日期date为一年中的第几周
SELECT WEEK(NOW())
返回日期date的年份
SELECT YEAR(NOW())
返回时间time的小时值
SELECT HOUR(NOW())
返回时间time的分钟值
SELECT MINUTE(NOW())
返回日期参数date1和date2之间相隔的天数
SELECT DATEDIFF(NOW(),'2008-8-18 8:8:18')
计算日期参数date加上n天后的日期
SELECT ADDDATE('2008-8-18 8:8:18',5957)

常用数学函数

返回大于或等于数值x的最小整数

SELECT CEIL(23.000001)
返回小于或等于数值x的最大整数
SELECT FLOOR(20.99999)
返回0~1间的随机数
SELECT RAND()


完毕!

猜你喜欢

转载自blog.csdn.net/angelayouran/article/details/80712309