SQL
Structured Query Language
结构化查询语言
SQL语句:客户端用来操作数据库的语句
例:创建/删除数据库’test_1’
CREATE DATABASE test_1;
DROP DATABASE test_1;
客户端与服务端之间的交互就是由SQL语句实现的
详细交互信息可以查看历史记录
在文件里新建查询编辑器(询问窗口)
SQL创建数据库
CREATE DATABASE `test_database`
名称以反引号``引起来,但通常可省略
删除数据库
DROP DATABASE `test_database`
将删除数据库test_database里的所有数据
切换数据库
一台MySQL服务器里,通常有多个数据库,所以如果切换数据库,应该用
USE test_database;
SQL创建表
使用CREATE TABLE命令可以创建表
CREATE TABLE `test_database`(
`id` int(11) NOT NULL,
`name` varchar(64) NOT NULL,
`phone` varchar(16) DEFAULT'13800000000';
`birthday` date DEFAULT NULL,
PRIMARY KEY(`id`)
);
两种自动生成表后查看创建表SQL语句的方法:
a、查看历史记录
b、右键表名 -> 备份/导出 -> 备份表作为SQL转储 -> 结构唯一 -> 导出,查看MySQL目录下导出的SQL脚本文件,可以查看SQL代码
删除表
DROP TABLE `student`;
DROP TABLE IF EXISTS `student`;
后一种写法比较规范
SQL插入数据
使用 INSERT INTO命令可以插入数据
INSERT INTO 表名(列1,列2,...,列N)
VALUES(值1,值2,...,值N)
注意:
a、数据名、表名、列名都加反引号``
b、值都加单引号‘’
c、列名和值一一对应
d、简化写法:当VALUES插入顺序是按照列顺序排列的,可以直接省略INSERT INTO后的括号序列
e、可以省略整数或小数值的单引号,但对于其他数据类型,必须加单引号
f、在一条SQL里可以插入多行数据,如:
INSERT INTO `student`
(`id`,`name`,`phone`,`birthday`)
VALUES
('20200001','张三','15062108927','2000-10-8'),
('20200002','李四','15064248924','2000-3-1'),
('20200003','王五','15062347829','2000-4-19'),
('20200004','赵六','12389284857','2000-9-10') ;
SQL查询数据
SQL Script:SQL脚本,即把多条SQL语句存入一个*.sql文件,成为SQL脚本
当表里有很多行数据时,可以使用SELECT命令来过滤查询
语法:
select* from 表名 where 过滤条件
例如:
SELECT * FROM student WHERE id='20200001'
使用WHERE字句可以指定过滤条件,符合条件的行将被选中,条件形式多样如下:
WHERE id=‘20200001’;
WHERE id<>‘20200001’; /不等于/
WHERE phone IS NULL; /手机号为空/
WHERE birthday >‘2000-1-1’ /00后/
指定过滤条件
多个条件可以用AND和OR
例如
WHERE id>'20200004' AND id<'20200010'
WHERE id>'20200002' OR id<'20200005'
还可以用小括号联立多个条件
xxx AND yyy AND(zzz OR www)
指定列
在查询时,可以只返回部分列,例如
//返回全部列
SELECT * FROM student;
//返回姓名、生日
SELECT `name`,birthday FROM student WHERE id<20200008;
SQL更新数据
使用UPDATE命令可以更新数据
语法:
UPDATE 表名 SET 列名=‘value’ WHERE 过滤条件
示例:
UPDATE student SET phone='150217498919' WHERE id='20200001'
SQL删除数据
删除所有数据
删除一个表里的所有数据(清空/截断)
示例:
TRUNCATE TABLE article
注:自增基数也被重置
自动截断方法:
右键选定表 -> 更多表操作 -> 截/断表
删除指定的行
用DELETE命令可以删除指定的行
语法:
delete from 表名 where 过滤条件
注意:当 DELETE命令没有加过滤条件时,和TRUNCATE会起一样的作用
总结
增加(Create)
读取查询(Retriueve)
更新(Update)
删除(Delete)
增删改查这四种操作简称为CRUD