MySQL笔记3-SQL语句

    科技2022-07-11  99

    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

    Processed: 0.010, SQL: 8