SQL基础语句
第一部分是对数据库的操作
创建数据库
执行语句 说明 Create database 库名 最基本的创建数据库操作 Create database if not exists 库名 判断数据库是否已经存在,不存在则创建该数据库 Create database 库名 character set 字符集 创建数据库并指定字符集
查看数据库的定义信息
执行语句 show create database 库名
修改数据库
执行语句 说明 alter database 数据库名 character set 字符集 修改数据库默认的字符集
删除数据库
使用数据库
执行语句 说明 select database() 查看正在使用的数据库,前提是使用了才能查看
总结关键词
操作 关键词 创建 create 删除 drop 修改 alter 查看 show 使用(切换) use
第二部分是对表的操作
创建表
执行语句 Create table 表明( 字段名1 字段类型 字段名2 字符类型…)
执行语句 说明 create table 新表 like 旧表 快速创建一个表结构相同的表
查看表
执行语句 说明 show tables 查看某个数据库中的所有表,会显示这个数据库中的所有表 desc 表名 查看表结构 show create table 表名 查看创建表的SQL语句
删除表
执行语句 说明 drop table 表名 直接删除表 drop table if exists 表名 判断表是否存在,如果存在则删除
修改表结构
执行语句 说明 alter table 表名 add 字段名 字段类型 添加表列ADD,多加一列,要注意字段名在字段类型的前面 alter table 表名 modify 字段名 字段类型 只修改字段的类型,这里的字段名要是表中的一个 alter table 表名 change 字段名 新的字段名 新的类型 既修改字段名又修改类型 rename table 旧表名 to 新的表名 修改表名
注意:MySQL中没有直接修改库名的语句
删除列
执行语句 说明 alter table 表名 drop 列名 删除掉这一列
总结关键词
操作 关键词 创建 create 删除 drop 修改 Alter(主要),rename(重新命名才用) 查看 show, desc
第三部分是对表里面记录的操作
插入记录
执行语句 说明 Insert into 表名 values(值1,值2…) 在表中插入所有的字段,从形式上看,表现为在列下面填入内容 Insert into 表名 (列名) values (值) 插入部分数据,只是在这一列下面写入数值 Insert into 表名 values(所有列值),(所有列值) 插入多条记录,括号里的值一一对应表列上面的类型
注意:
更新(修改)表记录
执行语句 说明 update 表名 set 字段名=值 不带条件修改数据,会修改这一列全部的记录 update 表名 set 字段名=值 where 条件 修改满足条件的所有记录
删除记录
执行语句 说明 delete from 表名 不带条件的删除记录,会将所有记录都删除掉 delete from 表名 where 条件 带条件的删除记录,删除所有满足条件的记录 truncate 表名 删除表中所有记录,步骤为:先删除表结构相当与drop table 表名,再创建一个新的结构相同的表
使用DQL查询表中的记录(不会对记录进行任何修改)
执行语句 说明 select * from 表名 使用*表示所有列 select 列名1,列名2 from 表名 查询指定列的数据,多个列之间要用逗号隔开 select 字段名 as 别名 from 表 对列指定别名,会使得显示的列名为别名,增强数据的可读性,as可以省略 select distinct 字段名 from 查询指定列并且结果不出现重复,重复由distinct后的字段名决定 select 列名+数值 from 表名 某列数据和固定值运算,要注意,列下的数据必须为数值类型,如int double等 select 列1+列2 from 表名 某列数据和其他列数据参与运算,形式上表现为多出一列,然后这一列的记录为两个指定的列相加的数值
这一部分也为查询部分,使用到条件进行对数据得筛选
执行语句 说明 select 列名 from 表名 where 条件 取出表中得每条数据,满足条件得记录就返回,不满足条件就不返回 select 列名 from 表名 where 字段名 in (数组或集合) in里面的每个数据都会作为一次条件,只要满足条件的就会显示 select 列名 from 表名 where 字段名 between 小值 and 大值 表示从值1到值2范围,包头又包尾,注意,值1一定小于或等于值2 select * from 表名 where 字段名 like ‘通配符字符串’ 单引号里面放字符串和通配符,like表示模糊查询 select ifnull(列名,默认值) from 表名 该语句会查询这一列中的数据是否为null,如果为null的话,则会替换成默认值显示出来
总结
操作 关键词 增(插入) insert 删 delete(主要),truncate 改(更新) update 查 select
补充
比较运算符
, <, >=, <=, = <> <>表示不等于,=表示等于
逻辑运算符
关键字或符号 说明 and 或 && 表示与 or 或 || 表示或 Not 或者 ! 表示非
注意:其中英文表示sql语句,在mysql中两种都可以用
通配符
查询是否为空的条件,where 字段名 is null 查询不为空的条件, where 字段名 is not null