一、数据库
1、创建数据库
CREATE DATABASE lesson; 创建一个名为lesson的数据库
2、删除数据库
drop database lesson;
二、表
1、创建表
CREATE TABLE 'mydb'.'it'; 数据库名:mydb 表名:it
2、删除表
DROP TABLE 'mydb':'it'; 数据库名:mydb 表名:it
3、修改表的名字
RENAME TABLE student TO user; 把student表的名字改为user
4、复制表
create table table2 select * from user; 通过复制user表,来创建一个table2
三、增加数据
1、往表里插入数据
INSERT INTO 'mydb'.'user'('id','name','age') VALUES ('2','li','25');
myda: 数据库名 user:表名 id,name,age:代表三个字段 VALUES:字段对应的数据
四、删除数据
条件删除(删除一行数据)
DELETE FROM user WHERE id=1; 删除id=1的所有数据(删除id=1的这一行)
五、更新数据
1、更新一个字段的值
UPDATE 'mydb'.'user' SET 'age'='22' WHERE 'id' = '1';
mydb:数据库名 user:表名 age:字段 id:筛选条件
在mydb数据库,user表中,把id=1这一行的age属性修改为22
2、更新多个字段的值
UPDATE 'mydb'.'user' SET 'name'='xiaxia' ,'age'='24' WHERE 'id'='2';
在mydb数据库中,user表中,把id=2的这一行name的属性改为xiaxia,age属性改为24
六、查询数据
1、查询
SELECT * FROM mydb.user; 从mydb数据库中查询user表里面的所有数据
2、单属性查询
SELECT name FROM user; 从user表中查询所有的name属性值
3、多属性查询
SELECT name,age FROM user; 从user表中查询所有name和age的属性值
4、条件查询where
SELECT name,age,id FROM user WHERE id = 2;
从user表中查询id等于2的所有name,age,id的属性值,注意id的类型是整型,所以2不用加单引号
SELECT name,age,id FROM user WHERE name = 'tom'; 从user表中查询name值等于‘tom’的所有name,age,id的属性值,注意name的类型是字符型,'tom'加单引号
SELECT name,age,id FROM user WHERE id>5; 从user表中查询id值大于5的所有name,age,id的属性值
SELECT name,age,id FROM user where id BETWEEN 3 AND 8; 从user表中查询id值在3到8之间的所有name,age,id的属性.值,user:表名 age:字段名 between:操作符,作用是选取介于两个值之间的数据范围
SELECT * FROM user WHERE 'age' in (12,18); 从user表中查询出年龄为12岁和18岁的人的所有信息 user:表名 age:字段名 in:操作符,作用是为查询条件规定多个值
5、模糊查询 like
SELECT * FROM student WHERE phone LIKE "1332%"; 从student表中查出以1332开头的手机号
steudent:表名
phone:代表手机号的字段名
LIKE:模糊查询
%:代表任意一个字符或多个字符,可匹配任意类型和长度的字符
SELECT * FROM student WHERE phone LIKE "182%" AND name LIKE 'zhang';
从student表中查出以182开头的手机号并且名字是以zhang开头的所有信息
SELECT * FROM student WHERE phone LIKE "1234567890_";
从student表中查出以123456789 开头的手机号 _代表一个字符
SELECT * FROM student WHERE phone LIKE '%114%';
从student表中查出手机号包含114的所有信息 %:代表任意一个或多个字符,可匹配任意类型和长度的字符
SELECT * FROM student WHERE phone LIKE '%114\%';
从student表中查出以114%结尾的手机号, 第一个5代表通配符,、%代表%字符
6、数量限制查询 limit
SELECT * FROM user ORDER BY id LIMIT 3,5;
从user表中查询从3开始,数量为5条数据,即3.4.5.6.7条数据
7、单字段排序查询 order by
*order by :语句用于根据指定的列表对结果集进行排序,默认按照升序对记录进行排序
SELECT * from mydb.'user' order by age;
从user表中查询所有信息,查询结果按照age的字段排序(默认升序)
select * from mydb,'user' order by age DESC;
从user表中查询所有信息查询结果按照age字段降序排序
8、多字段排序查询 order by
select * from mydb.'user' order by age dasc,'name';
从user表中查询所有的信息,查询结果按照age的降排序,如果年龄相同,就按照name升序排序
9、求总 count()
select count (name) from user;
从user表中查询name值的数目,不计null值
select count (*) from user;
查询user表中的记录数
select count(distinct 'name') from user;
查询user表中name字段不同值的数目,相当于去重
10、求最大值max()和最小值min()
min和max可用于文本列,以获得按字母排序排列的最高或最低值
select max(id) from user;
从user表中查询id字段的最大值
select min(id) from user;
从user表中查询id字段的最小值
11、求和sum()
select sum(id) from user ;
查询user表中id值的和
12、求平均值 avg()
select avg(id) from user;
查询user表中id值的平均值
13、显示所有数据库
show databases;
14、显示所有表
show tables;
15、SQL清空表的方式
1)delete删除记录,并不能释放SQL里被占用的空间,它只能把被删除的数据块标记为unused。
2)如果确实要删除一个表的全部内容,可以用truncate,它可以释放占用的数据块表空间