# 创建数据库
CREATE DATABASE IF NOT EXISTS mydb;
USE mydb;
# 显示所有的数据库
SHOW DATABASES;
#删除数据库
DROP DATABASE IF EXISTS mydb;
/*
创建数据表的格式
create table 表名(
列名1 数据类型 约束,
列名2 数据类型 约束,
列名3 数据类型 约束
);
*/
# 创建person表 列名:pid name age money
DROP TABLE IF EXISTS person;
CREATE TABLE person(
pid INT(5) PRIMARY KEY AUTO_INCREMENT, #添加主键约束,实现自动增长。
`name` VARCHAR(10), #VARCHAR必须定义长度限制
age INT(3),
money DOUBLE(7,2) #一共7个数字,小数占2位。
);
#常见表操作
DROP TABLE person; #删除person表
SHOW TABLES; #显示所有表
DESC person; #显示表数据
#修改表结构-了解
#添加sex列
ALTER TABLE person ADD sex VARCHAR(2);
#删除sex列
ALTER TABLE person DROP sex;
#money列 数据类型为int
ALTER TABLE person MODIFY money INT;
#把name列 重命名为pname
ALTER TABLE person CHANGE `name` pname VARCHAR(10)
#向数据表中添加数据-重点
#格式: insert into 表名(列名1,列名2,列名3) values (值1,值2,值3)
INSERT INTO person(pid,`name`,age,money) VALUES(1,'小明',18,200);
INSERT INTO person(pid,`name`,age,money) VALUES(NULL,'小红',18,200);
INSERT INTO person(`name`,age,money) VALUES('小刚1',18,200),('小刚2',18,200);
INSERT INTO person VALUES(NULL,'小刚3',18,200),(NULL,'小刚4',18,200);
#对数据进行更新操作-重点
#格式: update 表名 set 列1=值1,列2=值2 where 条件
UPDATE person SET money = 2000 WHERE pid IN (1,4,7);
#删除表中的数据-重点
#格式: delete from 表名 where 条件
DELETE FROM person WHERE pid=8;
#基本查寻数据
CREATE TABLE zhangwu (
id INT PRIMARY KEY AUTO_INCREMENT, -- 账务ID
zname VARCHAR(20), -- 账务名称
zmoney DOUBLE -- 金额
);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (1,'吃饭支出',247);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (2,'工资收入',12345);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (3,'服装支出',1000);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (4,'吃饭支出',325);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (5,'股票收入',8000);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (6,'打麻将支出',8000);
INSERT INTO zhangwu(id,zname,zmoney) VALUES (7,NULL,5000);
#格式:select 列名1,列名2 from 表名
SELECT zname,zmoney FROM zhangwu;
#查询表中所有数据
SELECT * FROM zhangwu;
#给列取别名
SELECT zname AS n,zmoney money FROM zhangwu;
#对重复的数据去重复
SELECT DISTINCT money,age AS myage,`name` FROM person;
#根据范围查询
SELECT * FROM zhangwu WHERE zmoney BETWEEN 2000 AND 5000;
#条件查询数据
#格式:select 列名1,列名2 from 表名 where 条件
SELECT * FROM zhangwu WHERE zmoney IN (1000,3500,5000)
#模糊查询数据
#格式:like % _
SELECT * FROM zhangwu WHERE zname LIKE '%支出%' #查询名字包含支持的
SELECT * FROM zhangwu WHERE zname LIKE'___' #查询名字长度3的
SELECT * FROM zhangwu WHERE zname IS NOT NULL #查询名字不是空的 |
|