一. 先简明扼要说下进入数据库基本操作:
1. 首先输入你的本地网址: localhost/phpmyadmin/
,点击侧边栏右边的数据库,你会看到如下表格,然后填写数据库名,点击创建。
2. 输入你的表名,比如表名users
,默认字段数 4;
3. 填写表,直接上表格,需要解释的是第一行名字建议写id,类型INT,长度自己定义, A_I注释
打钩,注释你可以写上:”唯一标识符”(备注:以下类型一栏写VARCHAR意为加密,长度255,仅参考),点击提交。
4. 数据库搭建完毕。
二. SQL语句基本操作(增、删、改、查)
1.增:2种方法:
a 使用insert语句给表中添加值
语法:insert [into] <表名> [列名] values <列值>
1
| eg: insert into users (username,password,age) values ('王伟华',123456,18);
|
b 使用insert,select语句将现有表中的 数据添加到已有的新表中
语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>
1 2
| eg: insert into addressList ('姓名','地址','电子邮件')select name,address,email // 需要注意的是:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致。
|
2.删:2种方法:
a 使用delete删除数据某些数据
语法:delete from <表名> where <删除条件>
1
| eg: delete from users where username='王敏' // 删除表users中列值为王敏的行;
|
;
b 使用truncate table 删除整个表的数据
语法:truncate table <表名>
1
| eg: truncate table addressList // 需要注意的是: 删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用于有外建约束引用的表。
|
3.改(使用update更新修改数据)
语法:update <表名> set <列名=更新值> [where <更新条件>]
1
| eg: update users set age=18 where username='刘小虎'
|
4.查询
a 普通查询
语法:select <列名> from <表名> [where <查询条件表达式>] [order by <排序的列名>[asc或desc]]
1).查询所有数据行和列
1
| eg: select * from users // 查询users表中所有行和列;
|
2).查询部分行列–条件查询
1
| eg: select i,j,k from a where f=5 // 查询表a中f=5的所有行,并显示i,j,k3列
|
;
3).在查询中使用AS更改列名
1
| eg: select name as 姓名 from a where gender='男' // 查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示
|
;
4).查询空行
1 2
| eg: select name from a where email is null // 查询表a中email为空的所有行,并显示name列;SQL语句中用 is null 或者 is not null 来判断是否为空行;
|
5).查询排序(关键字:order by , asc , desc)
1 2
| select username from users where age>18 order by age asc // 查询表中年龄大于18的所有行,并按升序显示username列;默认升序ASC,降序为D E S C;
|
b 模糊查询
1).使用like进行模糊查询,like运算副只用于字符串
1
| eg: select * from `users` where username like '张%' // 查询显示表users中,username字段第一个字为张的记录
|
2).使用between在某个范围内进行查询
1
| eg: select * from users where age between 18 and 20 // 查询显示表users中年龄在18到20之间的记录
|
3).使用in在列举值内进行查询(in后是多个的数据)
1
| select username from users where age in (15,18,29) // 查询表users中age值为15或者18或者29的记录,显示username字段
|
c 分组查询 请参阅网上资料。
d 多表联接查询
1).使用join..on指定联接条件
1 2
| eg: select * from users left jion subjects on users.id=subject.id // 注意:这里的id是表users和表subject都有的, 将表users里的所有数据和表subjects的数据放在一起,users在左边
|
2).在where子句中指定联接条件
1
| eg: select a.name,b.mark from a,b where a.name=b.name //查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的mark字段
|
5.完毕。