欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库-MySQL-SQL语句

程序员文章站 2022-05-10 08:04:45
...

SQL语句

SQL,指结构化查询语言,全称是 Structured Query Language。
SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

注意:SQL 对大小写不敏感:SELECT 与 select 是相同的。

SQL 命令
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

创建数据库

创建数据库
CREATE DATABASE link_sample;
反引号–tab上面那个键位

删除数据库

DROP DATABASE link_sample;

切换数据库

USE link_school;

SQL创建表

CREATE TABLE `link_school`.`testabc`
( 
`id` INT NOT NULL,
 `name` VARCHAR(16),
  `phone` VARCHAR(16), 
  `birthday` DATE, PRIMARY KEY (`id`) 
); 

不用记住SQL的具体语法,用SQLyog等图形化工具创建表然后查看具体语法

SQL插入数据-INSERT

INSERT

INSERT INTO `link_school`.`student` 
(`id`, `name`, `phone`, `birthday`) 
VALUES
('20180008', '小王', '13410012908', '1993-9-10');

数据库-MySQL-SQL语句
简化写法1
如果按顺序将所有列赋值,可以不用写列名
INSERT INTO af_school.student
VALUES (‘20181009’, ‘小张’, ‘18799891829’, ‘1992-4-19’)

简化写法2
如果名字起得比较规范,那么数据库名、表名、列名都可以省略反引号
INSERT INTO student
VALUES (‘20181009’, ‘小张’, ‘18799891829’, ‘1992-4-19’)

简化写法3
对于整数或小数值,可以省略单引号。对于其他数据类型,必须加单引号。
INSERT INTO student
VALUES (20181009, ‘小张’, ‘18799891829’, ‘1992-4-19’)

在一条SQL里插入多行数据

示例:

insert  into `student` 
(`id`,`name`,`phone`,`birthday`)
values 
(20180001,'link','1409900089','1982-03-09'),
(20180002,'abc','1282399999','1993-10-01'),
(20180003,'李',NULL,'2018-03-11'),
(20180004,'花',NULL,'2018-03-11'),
(20180005,'别想在',NULL,'2018-03-11') ;

只列出部分字段

在插入一行数据时,并不一定要提供所有字段,列的顺序也可以自己给定
(注意:值与列一定要一一对应)

例如,在插入一行时,不指定手机号也是可以的。
INSERT INTO student
(id,name,birthday)
VALUES
(‘20180006’,‘sss’,‘1982-03-09’)

SQL查询数据-SELECT

SQL SELECT 语句
SELECT 语句用于从数据库中选取数据。
结果被存储在一个结果表中,称为结果集。

语法

SELECT column_name,column_name
FROM table_name;
SELECT * FROM table_name;

例子

SELECT * FROM student WHERE id='20180004'

数据库-MySQL-SQL语句

SELECT * FROM student WHERE id<>'20180004'

数据库-MySQL-SQL语句
<>:不等于
数据库-MySQL-SQL语句
数据库-MySQL-SQL语句
数据库-MySQL-SQL语句

SQL SELECT DISTINCT 语句

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。

SELECT DISTINCT column_name,column_name
FROM table_name;

SQL WHERE 子句

WHERE 子句用于提取那些满足指定条件的记录。

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

数据库-MySQL-SQL语句

SQL AND & OR 运算符

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

SQL UPDATE 语句

SQL UPDATE 语句
UPDATE 语句用于更新表中已存在的记录。

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

Update 警告!
在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:

UPDATE Websites
SET alexa='5000', country='USA'

执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

示例1

update student  
set  phone='13810029298'  
where  id='20180001'

示例2

UPDATE  student  
SET  phone=NULL  
WHERE   id >= '20180001' AND id <='20180003'

可见,一条UPDATE语句可以一次性修改所有符合条件的行

示例3

update  student  
set  phone='13810029298', birthday='1995-6-6'  
where   id='20180001'

可见,一条UPDATE语句可以修改多个列

示例4

update article 
set numView=numView + 8 
WHERE id='1000'

可见,set子句里可以有比较特殊的写法 (在原数字的基础上加8)

SQL删除语句-DELETE

SQL DELETE 语句
DELETE 语句用于删除表中的行。

删除所有数据:TRUNCATE TABLE == 清空/截断
TRUNCATE TABLE article

SQL DELETE 语法

DELETE FROM table_name
WHERE some_column=some_value;

请注意 SQL DELETE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

相关标签: 数据库