数据库-MySQL-SQL语句
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');
简化写法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'
SELECT * FROM student WHERE id<>'20180004'
<>:不等于
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;
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 子句,所有的记录都将被删除!