MySQL数据库SQL语句
操作数据库的SQL语句(DDl)
1.增
* 创建一个指定名称的数据库:
create database 数据库名称;
* 创建数据库,判断不存在,再创建:
create database if not exists 数据库名称;
* 创建数据库,并指定字符集:
create database 数据库名称 character set 字符集名;
2.删
* 删除指定名称的数据库(谨慎使用)
drop database 数据库名称;
* 判断数据库存在,存在再删除(谨慎使用)
drop database if exists 数据库名称;
3.改
* 修改指定名称的数据库的字符集
alter database 数据库名称 character set 字符集名称;
4.查
* 查询所有数据库的名称:
show databases;
* 查询某个数据库的字符集:查询某个数据库的创建语句
show create database 数据库名称;
5.使用
* 查询当前正在使用的数据库名称
select database();
* 使用数据库
use 数据库名称;
操作数据库表的SQL语句
1.创建表
1. 语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
....
列名n 数据类型n
);
2.常用数据类型:
1)int:整数类型 如:age int,
2)double:小数类型 如:score double(5,2)
3)date:日期,只包含年月日,yyyy-MM-dd
4)datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
5)timestamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss 如果没有赋值,则默认是当前系统时间
3.复制表:
create table 表名 like 被复制的表名;
2.查询表
* 查询某个数据库中所有的表名称
show tables;
* 查询表结构
desc 表名;
3.修改表
* 修改表名
alter table 表名 rename to 新的表名;
* 修改表的字符集
alter table 表名 character set 字符集名称;
* 添加一列
alter table 表名 add 列名 数据类型;
* 修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
* 删除一列
alter table 表名 drop 列名;
4.删除表
* drop table 表名;
* drop table if exists 表名; //如果存在就删除
操作数据库表记录的SQL语句:增、删、改(DMl)
1.添加表记录
* 语法:
insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
* 注意:
1. 列名和值要一一对应。
2. 如果表名后,不定义列名,则默认给所有列添加值
insert into 表名 values(值1,值2,...值n);
3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
2.删除表记录
* 语法:
delete from 表名 【where 条件】;
注意:1.where条件在大多数情况下都要写上,否则的话,将删除表中的所有数据,这个操作非常危险。
2.如果非要删除整张表的数据,为了提升效率,推荐使用--truncate table 表名--的操作来删除。
*原因:delete删除方式是:表中有多少条记录,就要执行多少次删除操作,效率低。
truncate删除方式:先删除整张表,然后再新建一张空白的表来代替删除的表。
3.修改表记录
* 语法:
update 表名 set 列名1 = 值1,列名2 = 值2...列名n = 值n ...{where 条件}
注意:where条件在大多数情况下都要写上,否则的话,将表中这一列的所有数据,这个操作非常危险。
操作数据库表记录的SQL语句:查(DQl)
* 基础语法
select * from 表名称; ---查询一张表中所有的数据
* 常用的语法
select 字段列表 from 表名列表
* 常用到的语法函数
group by --- 分组
distinct --- 去重
order by --- 排序
having --- 分组之后使用的条件,相当于“where”
limit --- 分页限定
as --- 给字段起别名
ifnull --- 用于表中字段相加,其中可能出现null值的情况
where --- 用于查询表中数据并指定查找的条件
* 常用的算数运算符
= ! < > <= >= <>
其中“<>”表示不等于
* 其他的常见运算符
between ... and ... 在一个区间范围内
in(a,b,c,d...) 在括号里面出现任意值就满足条件
not 相当于“非”
or 相当于“或”
and 相当于“与”
is null 当条件中要判断一个字段是否是空值
* 模糊查询 like
两种重要的符号:
1."_"表示单个字符
2."%"表示0个或多个字符