基本概念:
SQL,指结构化查询语言,全称是 Structured Query Language。
SQL 对大小写不敏感:SELECT 与 select 是相同的。
查询语句:
我们拿下表举例,这是一个数据库中的“Customers”表。
select * from Customers; // 显示当前数据库Customers表中的所有列。
select * from Customers where City='London'; // 显示Customers表中所有City为'London'的行。
select City,Address from Customers; //显示Customers中的City列和Address列。
select distinct City,Address from Customers; //显示City,Address所有不同的值,类似uniq命令。
select City from Customers where Address='120 Hanover Sq' // where 子句用于提取那些满足指定标准的记录。
where 子句中的运算符
select * from Customers where Address='120 Hanover Sq' and City='London'; // and两个语句需都满足
select * from Customers where Address='120 Hanover Sq' or City='London'; // or 两个满足一个即可。
ORDER BY :
关键字用于对结果集按照一个列或者多个列进行排序,默认按照升序对记录进行排序。如果按照降序排序,可以使用 DESC 关键字。
select * from Customers order by City; // 查询结果按City升序排序。select * from Customers order by City desc; // 降序。
select * from Customers order by City,Country; //按City排序,City相同按Country排序。
SELECT LIMIT:
select * from Jdbc limit 5 ; // 显示Jdbc表中的前5项。 (MYSQL 写法,其他不同)
select * from Jdbc where age<10 limit 5; //显示Jdbc表中所有age<10 的前5项。
SELECT LIKE:
SELECT * FROM Customers WHERE City LIKE 's%'; // 显示所有City项以s开头的。 '%' 类似正则表达式的*
SELECT * FROM Customers WHERE Country LIKE '%land%'; //显示所有Country中包含land的。
SELECT * FROM Customers WHERE Country NOT LIKE '%land%'; // 显示不包括land的项。
SELECT * FROM Customers WHERE City LIKE '_erlin'; //选取 City 以一个任意字符开始,然后是 "erlin" 的所有项。
SELECT * FROM Customers WHERE City LIKE 'L_n_on'; //选取 City 以 "L" 开始,然后任意字符,然后"n",然后任意字符,最后 "on" 的所有项。
SELECT * FROM Customers WHERE City LIKE '[bsp]%'; //选取 City 以 "b"、"s" 或 "p" 开始的所有项。
SELECT * FROM Customers WHERE City LIKE '[a-c]%'; // 选取 City 以 "a"、"b" 或 "c" 开始的项。
SELECT * FROM Customers WHERE City LIKE '[!bsp]%'; // 选取 City 不以 "b"、"s" 或 "p" 开始的所有项。
SELECT BETWEEN & IN
SELECT * FROM Customers WHERE City IN ('Paris','London'); //选取City项为 "Paris" 或 "London" 的所有项。
SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; // 选取Price在10-20的所有项.
SELECT * FROM Products WHERE ProductName NOT BETWEEN 'C' AND 'M';//选取 ProductName 不以介于 'C' 和 'M' 之间字母开始的所有.
插入语句:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway'); // 指定列形式,没有指定的为null
INSERT INTO Customers VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway'); // 可以不指定列,但列需要齐全,不能空。
更新语句:
UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg' WHERE CustomerName='Alfreds Futterkiste' ; //把符合where条件的项的ContactName和City更新
UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg' ; // 把所有语句都更新
删除语句:
delete from Customers where CustomerName='Alfreds Futterkiste' and ContactName='Maria Anders'; // 删除符合条件的项。
delete from Customers; // 删除Customers 表中的所有项。
mysql 常用语句:
mysql -u root -p 登录
//Mysql里的命令一定要有分号
show databases; //显示所有数据库
create database zc; //创造数据库zc
use zc; // 进入zc数据库。
show tables; //显示当前数据库中所有数据类型。
create table tablename( id datatype ....); //创造tablename类型的table,类似于结构体。
desc tablename; //显示tablename的结构
drop table tablename; //删除tablename表类型。
drop database zc; // 删除zc数据库。