初级:
1. 查看数据库列表:show databases;
2. 创建数据库:create database malei_table;
3. 使用某个数据库:use malei_table;
4. 向库中创建一个表:create table user(name varchar(20),sex varchar(10));
5. 查询库中所有的表:show tables; (首先应该use malei_table,然后才可以查看库中的表)
6. 查看表的内部结构:describe user;
7. 向表中添加一条数据:insert into user values("tom","boy");
8. 查询表中所有的记录:select * from user;
9. 更新表中的数据:update user set name='marry';
10. 更新表中某一属性的值:update user set name='jim' where sex='girl' ;
11. 对表进行重命名:alter table user rename users;
12. 清空表中的数据(结构还在):delete from users;
13. 删除数据表:drop table users;
14. 删除数据库:drop database malei;
中级:
1. 向数据表中添加一列:alter table users add age varchar(20);
2. 获取表中一列所有不同的信息(重复的信息去掉):select distinct work from users;
3. 从表中获取所有姓名是tom的男生:select * from users where name="tom" and sex="男";
4. 从表中获取所有工作在阿里或者百度的人:select * from users where work = "阿里" or work="百度";
5. 根据年龄排序查询表:select * from users order by age;
6. 根据年龄倒序排序 : select * from users order by agedesc;
7. 获取表中前2项数据:select * from users limit 2;
8. 从表中获取年龄小于20的数据: select * from users where age<=20;
9. 从表中获取所有级别是工程师的人(模糊查询):select * from users where level like '中级%';
备注:选取level以“中级”开始的的所有人,% 相当于占位符。
10. 查找工作在“百度”和“阿里”工作的人: select * from android_team where work in("阿里","百度");
11. 查找表中20岁到30直接的人:select * from users where age between20 and 30;
12. 将表中name列的名称改为别名title输出:select name as title from users;
13. 创建一个id自增长的users表:create table users(
id int(5) not null primary key auto_increment,
name varchar(20) not null,
sex varchar(20));
高级:
1. 输出A表的姓名和年龄,和关联表B的数量:select A.name , A.age , B.count from A (inner) join B on A.id = B.a_id;
2. 输出A表中所有的信息,包括表B的数量:select A.name , A.age , B.count from A left join B on A.id = B.a_id;
3. 将a表和b表的所有信息输出:select * from A union select * from B;
4. 将a表中的所有数据添加到b表中:select * into B from A;
5. 只将a表中的name列复制到B表中:insert into B(name) select name from A;
其他:
1. 数据类型:varchar,integer,decimal,date
2. 约束类型:
1)not null :指示某列不能存储null值
2)unique:某列的每行必须有唯一的值
3)primary key:唯一标识符,和not null ,unique结合使用
4)foreign key:外键
5)defalut:设置没有给值时的默认值