SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾。
2.MYSQL数据库的SQL语句不区分大小写,关键字建议适用大写。
3.注释
(1) 单行注释:– 注释内容(两个横杠一个空格+注释内容) 或 #注释内容(MYSQL特有)
(2) 多行注释: /* 注释 */
对 MYSQL 的 windows命令
1、启动mysql服务
net start mysql 启动 mysql 服务
net stop mysql 关闭 mysql 服务
2、进入mysql,输入密码:
mysql -hlocalhost -uroot -proot 进入mysql数据库,其中-h表示服务器名,localhost表示本地;
-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后直接输入。
mysql -u root -p;
对数据库的操作
1、查看所有数据库
mysql> show databases;
2、创建数据库
mysql> create database 数据库名称
如果数据库已经存在,则会报错
可使用
mysql> create database if not exists; 数据库名称
3、删除数据库
drop database 数据库名称;
drop database if exists 数据库名称;
4、使用数据库
使用数据库 use 数据库名称;
5、查看当前使用的数据库
select database();
对表的操作
· 创建(create)
·查询(retrieve)
·修改(update)
·删除(delete)
1、创建(create)
创建表
create table 表名(
字段名1 数据类型1,
字段名2 数据类型2,
...
字段名n 数据类型n
);
最后一行末尾不能加逗号
2、查询(retrieve)
查询当前数据库下所有表名称
show tables;
查询表结构
desc 表名称;
3、修改(update)
修改表名
alter table 表名 rename to 新的表名;
添加一列
alter table 表名 add 列名 数据类型;
修改数据类型
alter table 表名 modify 列名 新数据类型;
修改列名和数据类型
alter table 表名 change 列名 新列名 新数据类型;
删除列
alter table 表名 drop 列名;
4、删除(delete)
删除表
drop table 表名;
drop table if exists 表名;
对数据的操作
添加数据
1、给指定列添加数据
insert into 表名(列名1,列名2,...)values(值1,值2,...);
2、给全部列添加数据
insert into 表名 values(值1,值2,...);
3、批量添加数据
insert into 表名(列名1,列名2,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
insert into 表名 values(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
修改数据
1、修改表数据
update 表名 set 列名1=值1,列名2=值2,...[where 条件];
修改语句如果不加条件,则所有数据都将被修改!
删除数据
1、删除数据
delete from 表名 [where 条件];
删除语句如果不加条件,则所有数据都将被删除
查询数据
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件
order by
排序字段
limit
分页限定
约束
外键约束
数据库设计
多表查询
内连接
隐式内连接
select 字段列表 from 表1,表2... where 条件;
显式内连接
select 字段列表 from 表1 [inner] join 表2 on 条件;
内连接相当于查询A B 交集数据
外连接
左外连接
select 字段列表 from 表1 left [outer] join 表2 on 条件;
右外连接
select 字段列表 from 表1 right [outer] join 表2 on 条件;
左外连接 :相当于查询A表所有数据和交集部分数据
右外连接 :相当于查询B表所有数据和交集部分数据
子查询
子查询根据查询结果不同,作用不同;
1、单行单列:作为条件值,使用=,!=,>,<等进行条件判断
select 字段列表 from 表 where 字段名 = (子查询);
2、多行单列:作为条件值,使用in等关键字进行条件判断
select 字段列表 from 表 where 字段名 in (子查询);
3、多行duolie:作为虚拟表
select 字段列表 from (子查询) where 条件;
事物
1、开启事务
start transaction; 或者 begin;
2、提交事务
commit;
3、回滚事务
rollback;
4、事务的特性
5.事务提交
mysql事务默认自动提交
-- 查看事物的默认提交方式
select @@autocommit;
-- 1 自动提交 0 手动提交
-- 修改事务提交方式
set @@autocommit = 0;