mySql基础语句

SQL语句的运行模式:

(1)交互模式

(2)脚本模式


#1. 设置SQL语句的编码格式
SET NAMES UTF8;
#2. 删除数据库dangdang
DROP DATABASE IF EXISTS dangdang;
#3. 创建数据库dangdang,指定存储数据所用的编码
CREATE DATABASE dangdang CHARSET=UTF8;
#4. 进入数据库
USE dangdang;

#5. 创建表 dd_category(cid, cname, count)
CREATE TABLE dd_category(
cid INT PRIMARY KEY,      //主键不重复
cname VARCHAR(8),
count INT
);
#6. 添加三行记录,三个书籍分类(10/20/30)
INSERT INTO dd_category VALUES
(10, '计算机', '3'),
(20, '历史', '3'),
(30, '美食', '3');

#8. 创建表 dd_book(bid,title,pic,price,pubDate,isOnsale,categoryId)
CREATE TABLE dd_book(
bid INT PRIMARY KEY AUTO_INCREMENT, #主键
title VARCHAR(64),
pic VARCHAR(32),
price FLOAT(10,2),
pubDate BIGINT,
isOnsale BOOLEAN,
categoryId INT                                                 #外键
);
#9. 为每种分类添加两三条记录
INSERT INTO dd_book VALUES
(NULL,'Java编程指南','img/1.jpg','35.5','1234567890123','1','10'),
(NULL,'JS编程指南','img/2.jpg','45.5','1234567890123','0','10'),
(NULL,'HTML编程指南','img/3.jpg','55.5','1234567890123','0','10'),
(NULL,'三国志','img/4.jpg','36.5','1234567890123','1','20'),
(NULL,'西游记','img/5.jpg','37.5','1234567890123','1','20'),
(NULL,'水浒传','img/6.jpg','38.5','1234567890123','0','20'),
(NULL,'天天美食','img/7.jpg','75.5','1234567890123','0','30'),
(NULL,'美食地理','img/8.jpg','85.5','1234567890123','1','30'),
(NULL,'中华美食','img/9.jpg','95.5','1234567890123','1','30');


#11. 查询出所有的“计算机”类书籍
SELECT * FROM dd_book
WHERE categoryId = (
SELECT cid FROM dd_category
WHERE cname='计算机'
);

#12. 删除10号分类及其下所有的书籍
DELETE FROM dd_category WHERE cid=10;  删除cid=10条件;
DELETE FROM dd_book ;       删除dd_book所有内容

#13. 删除编号为6的书籍,需要修改对应分类的书籍数量
UPDATE dd_category SET count=count-1
WHERE cid=(
SELECT categoryId FROM dd_book
WHERE bid=6
);
DELETE FROM dd_book WHERE bid=6;

#14. 查询出所有的书籍分类
SELECT cid,cname,count FROM dd_category;


#15. 查询出所有的书籍
SELECT * FROM dd_book;

#**修改

UPDATE tb_user SET uname='玛丽亚',upwd='789' WHERE uid=101;  修改101,的uname,upwd; =号可以是>或<;

#16.查询所有书籍的个数(count);

SELECT COUNT(*) FROM dd_book;

#17.查询分页语句

SELECT * FROM dd_book WHERE a=XXX LIMIT 初始位,个数;

 #18.模糊查询

$sql="SELECT * FROM kf_dish WHERE name LINK '%$keyword%' OR material LINK '%$keyword%'";

1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如 SELECT * FROM [user] WHERE u_name LIKE '%三%将会把u_name为“张三”,“张猫三”、“三脚猫”,
“唐三藏”等等有“三”的记录全找出来。 

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%' 若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%' 
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。 
#19.跨表查询
$sql="SELECT kf_order.oid,kf_order.did,kf_order.user_name,kf_order.order_time,kf_dish.img_sm,kf_dish.did FROM  kf_order,kf_dish WHERE kf_order.phone='$phone' AND kf_order.did=kf_dish.did";
$sql="SELECT 表1.列X,表1.列N,表2.列Z FROM 表1,表2 WHERE 表1.列K=123 AND 表1.id=表2.id";
会取出,表1中的X,N相同时取出表2中与表1,id相同的Z相;;;;
原文地址:https://www.cnblogs.com/liangfc/p/7391122.html