常用SQL语句大全实例总结-基础篇

一、库操作

1、创建数据库
-- 创建一个名为“my_test”的数据库
-- 语法
CREATE DATABASE dbname;
-- 实例
CREATE DATABASE my_test;

-- 创建数据库时判断是否存在,不存在则创建
-- 语法
CREATE DATABASE IF NOT EXISTS dbname;
-- 实例
CREATE DATABASE IF NOT EXISTS my_test;
2、查看数据库
-- 查询所有数据库
-- 语法
SHOW DATABASES;

-- 查询某个数据库的定义信息
-- 语法
SHOW CREATE DATABASE dbname;
-- 实例
SHOW CREATE DATABASE my_test;
3、选择数据库
-- 语法
USE dbname;
-- 实例
USE my_test;
4、删除数据库
-- 语法
DROP DATABASE dbname;
-- 实例
DROP DATABASE my_test;

二、表操作

1、表(创建、修改、查看、删除)
-- column_name 参数规定表中列的名称。
-- data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
-- size 参数规定表中列的最大长度。
-- 创建新表
-- 语法
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
-- 实例
CREATE TABLE User
(
user_id varchar(255),
user_name varchar(255),
age int,
address varchar(255)
);
-- 根据已有的表创建新表
-- 使用旧表创建新表,创建新表时不导入旧表数据
-- 语法
CREATE TABLE table_new LIKE table_old;

-- 创建新表同时导入旧表数据
-- 语法
CREATE TABLE table_new AS SELECT column1,column2… 
FROM table_old WHERE 1=1;
-- 修改表名
-- 语法
ALTER TABLE old_table_name RENAME TO new_table_name;
-- 实例
ALTER TABLE User RENAME TO new_User;
-- 查看表结构
-- 语法
DESC table_name;
-- 实例
DESC User;
-- 查看创建的新表
-- 语法
SHOW CREATE TABLE table_name;
-- 实例
SHOW CREATE TABLE User;
-- 删除表
-- 语法
DROP TABLE table_name;
-- 实例
DROP TABLE User;

-- 语法:判断表是否存在,存在则删除
DROP TABLE IF EXISTS table_name;
-- 实例
DROP TABLE IF EXISTS User;
2、列(添加、修改、删除)
-- column_name 参数规定表中列的名称。
-- data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
-- size 参数规定表中列的最大长度。
-- 添加列
-- 语法
ALTER TABLE table_name ADD column_name data_type(size);
-- 实例
ALTER TABLE User ADD City varchar(255);
-- 删除列
-- 语法
ALTER TABLE table_name DROP column_name;
-- 实例
ALTER TABLE User DROP City;
-- 修改列数据类型或数据类型长度
-- 语法
ALTER TABLE table_name MODIFY column_name data_type(size);
-- 实例
ALTER TABLE User MODIFY City varchar(512);
3、主键(添加、删除)
-- 添加主键
-- 语法
ALTER TABLE table_name ADD primary key(column_name);
-- 实例
ALTER TABLE table_name ADD primary key(UserID);

-- 删除主键
-- 语法
ALTER TABLE table_name DROP primary key(column_name);
-- 实例
ALTER TABLE table_name DROP primary key(UserID);
4、索引(创建、删除)
-- 创建索引
-- 在表上创建一个简单的索引。允许使用重复的值
-- 语法
CREATE INDEX index_name ON table_name(column_name);

-- 在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。Creates a unique index on a table. Duplicate values are not allowed
-- 语法
CREATE UNIQUE INDEX index_name ON table_name(column_name);

-- 如果您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开
-- 语法
CREATE INDEX index_name ON table_name(column_name1,column_name2,...);

-- 删除索引
-- 语法
DROP INDEX index_name;
5、视图(创建、删除)
-- 创建视图
-- 语法
CREATE view viewname as select statement

-- 删除视图
-- 语法
DROP view viewname
6、表数据插入(INSERT)、删除(DELETE)、修改(UPDATE)、查询(SELECT)
-- 参数说明:
-- column1, column2, ...:字段名称。
-- table_name:表名称。
-- value1, value2, ...:字段值。
-- condition:删除条件,用于指定哪些数据要删除。
-- INSERT INTO 语句用于向表中插入新记录。
-- INSERT INTO 语句可以有两种编写形式。
-- 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
-- 语法
INSERT INTO table_name
VALUES (value1,value2,value3,...);
-- 实例
INSERT INTO User
VALUES ('101','张三',20,'广东');

-- 第二种形式需要指定列名及被插入的值:
-- 语法
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
-- 实例
INSERT INTO User (user_id, user_name, age)
VALUES ('101','张三',20);
-- DELETE 语句用于删除表中的行。
-- 语法
DELETE FROM table_name
WHERE condition;
-- 实例
DELETE FROM User
WHERE user_id='101';
-- UPDATE 语句用于更新表中已存在的记录。
-- 语法
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
-- 实例
UPDATE User
SET age = 21, address='北京'
WHERE user_id='101';
-- SELECT 语句用于从数据库中选取数据。
-- 结果被存储在一个结果表中,称为结果集。
-- 语法
SELECT column1, column2, ... 
FROM table_name;
-- 实例
SELECT user_id, user_name
FROM User;

-- 或者
-- 语法
SELECT * FROM 
table_name;
-- 实例
SELECT *
FROM User;
-- SELECT DISTINCT 语句用于返回唯一不同的值。
-- 在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
-- DISTINCT 关键词用于返回唯一不同的值。
-- 语法
SELECT DISTINCT column1, column2, ... 
FROM table_name;
-- 实例
SELECT DISTINCT user_id, user_name
FROM User;
-- WHERE 子句用于提取那些满足指定条件的记录。
-- 语法
SELECT column1, column2, ...
FROM table_name
WHERE condition;
-- 实例
SELECT user_id, user_name
FROM User
WHERE user_name='张三';
-- AND & OR 运算符用于基于一个以上的条件对记录进行过滤。
-- 如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
-- 如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
-- AND运算符
-- 从用户表中选取地址address为“广东省”并且年龄age>20的所有用户
SELECT * FROM User
WHERE address='广东省'
AND age > 20;

-- OR运算符
-- 从用户表中选取地址address为“广东省”或者“北京”的所有用户
SELECT * FROM User
WHERE address='广东省'
OR address='北京';

你可能感兴趣的:(sql,Java,sql,数据库)