简单sql语句

2017-12-17  本文已影响0人  AMZ小楼

#### 创建数据库

create datebase mydatabase;

show database;

#### 删除数据库

drop database mydatabase;

#### 使用数据库

use mydatabase;

#### 创建数据表格式

create table 表名(

列名  数据类型 约束,

列名  数据类型 约束,

列名  数据类型 约束

创建用户表,用户编号,姓名,用户的地址

create table users(

uid INT PRIMARY KEY AUTO_INCREMENT ,

uname VARCHAR(20),

uaddress VARCHAR(200 ),

主键:标识唯一性,不具备任何含义,保证列数据的唯一性和非空性 primary keys

让主键列数据实现自动增长

SHOW TABLES 显示所有数据表

DESC users  查看表的结构

DROP tables users 删除数据表

添加列,添加字段

alter table 表名 add 列名 数据类型 约束

ALTER TABLE users ADD tel INT

修改列,在原有的列上修改

修改列名,数据类型 约束

alter table 表名 modify 列名 数据类型 约束

alter table users modify tel varchar(50)

修改列名

alter table 表名 change 旧列名 新列名 数据类型 约束

alter table users change tel newtel double

删除列

alter table 表名 drop 列名

alter table users drop newtel;

修改表名

rename table 表名 to 新名

rename table users to newusers;

向数据表中添加数据 insert

格式:

insert into 表名(列名1,列名2,列名3) values (值1,值2,值3)

注意:

列名,表名问题

对应问题,个数,数据类型

除了数字外都要加单引号

create table product(

--主键列,自动增长

id INT PRIMARY KEY AUTO_INCREMENT

--商品名字,可变字符

pname VARCHAR(100) NOT NULL,

-- 商品价格,double

prince DOUBLE

);

INSERT INTO product (id,pname,price) values (1,'笔记本',555.59)

添加数据格式,不考虑主键

格式:insert into 表名 (列名) values (值)

insert into product(pname,price) values('洗衣机',800)

添加数据格式,所有值全给出

格式:

insert into 表名 values (全列值)

insert into produce values (4,'微波炉',300.25)

添加数据格式,批量写入

insert into 表名 (列名1,列名2,列名3) values(值1,值2,值3),(值1,值2,值3)

insert into product (pname,price) values

('智能机器人',25555.92)

('沙发',555.23)

对数据进行更新操作

数据在原有基础上进行修改

格式:

update 表名 set 列1=值1,列2=值2 where 条件

where 条件:数据中的唯一性

update product set price = 155599 where id=2

修改条件的写法

id=6

id<>6 不等于

id<=6

与或非

与 and

或 or

非 not

id in (1,3,4,5) 包含

将笔记本和空调价格全部改为2000

update product set price = 2000 where id =2 or id=2

删除表中的数据

格式:

delete from 表名 where 条件

drop table 表名 删除整个数据表

delete from product where id=8

乱码 set names 'gbk'

查询指定列的数据

格式:

select 列名,列2 from 表名;

查询所有列的数据

格式:

select * from 表名;

查询去掉重复记录

distinct 关键字 跟随列名

select distinct zname from zhangwu

查询重新命名列

as 关键字

select zname as 'name' from zhangwu

查询数据中,直接进行数学计算

列对数字进行计算

select zname,zmoney+1000 as 'sum' from zhangwu

查询所有吃饭支出

select * from zhangwu where zname='吃饭支出'

between and 方式

select * from zhangwu where zmoney between 2000 and 5000

in 方式

select * from zhangwu where zmoney in (2000,5000)

like 模糊查询,配合通配符

select * from zhangwu where zname like '%支出%'

查询帐务名字,五个字符的 ,下划线

select * from zhangwu where zname like '_____'

查询帐务不为空

is not null

查询,对结果集进行排序

升序,降序,对指定列排序

order by 列名 [desc][asc]

升序 asc 降序 desc

select * from zhangwu order by zmoney

select * from zhangwu order by zmoney desc

----先过滤条件,where查询结果再排序

select  * from zhangwu where zname like '%支出%' order by zmoney desc

使用聚合函数进行计算

count 求和,对表中的数据个数求和 count(列名)

select count(*)as 'count' from zhangwu

sum 求和

分组统计:

查询所有数据

吃饭支出 共计多少

工资收入 共计多少

group by 被分组的列名

必须跟随聚合函数

select 查询的时候,被分组的列,要出现的select选择列的后面

select sum(zmoney),zname from zhangwu group by zname

分组后再次过滤

having

select sum(zmoney) as 'getsum' ,zname from zhangwu zname like '%支出%'

group by zname

having getsum>5000

上一篇 下一篇

猜你喜欢

热点阅读