MySql入门笔记

2018-10-28  本文已影响0人  61etj

启动MySql

Sql分类

数据库常用命令

登录

cmd> mysql -u 用户名 -p 密码

创建数据库

create database 数据库名;
create database 数据库名 character set 字符集;

查看数据库

show databases;//查看所有数据库
show create database 数据库名;//产看指定数据库定义信息

删除数据库

drop database 数据库名;

其他

use 数据库名;//切换数据库
select database();//查看当前使用的数据库

创建表

create table 表名(
    字段名 类型(长度) [约束],
    字段名 类型(长度) [约束
);

约束

主键约束 : primary key
唯一约束 : unique
非空约束 : not null
自动增长 : auto_increment

查看表

show tables;//查看所有表
desc 表名;//产看某表的结构
show create table 表名;//查看表的编码等详细信息

删除表

drop table 表名;//删除一张表

修改表

alter table 表名 add 字段名 类型(长度) [约束];//给表增加一个字段
alter table 表名 modify 字段名 类型(长度) [约束];//修改某个字段
alter table 表名 change 旧列名 新列名 类型(长度) [约束];//修改表的列名
drop table 表名 drop 列名;//删除表的某列
rename table 表名 to 新表名;//修改新表名
alter table 表名 character set 字符集;//修改表的字符集

alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键) //增加外键
alter table 从表 drop foreign key 外键名称

插入记录

insert into 表名 (列名1,列名2...) values (值1,值2...);//向某表(某些列)插入一条数据
insert into 表名 values (值1,值2,值3...);//向表中(所有列)插入一条数据

更新记录

update 表名 set 字段名=值,字段名=值...;//更新所有
update 表名 set 字段名=值,字段名=值... where 条件;

删除记录

delete form 表名 where 条件;
delete form 表名;//删除所有
truncate table 表名;//删除所有

注意delete 和 truncate 的区别

  1. delete是一条一条删除,启用事务可以找回
  2. truncate是将整个表删除,在重新创建一张一模一样的表,不可找回

查询记录

select [distince] * | 列名 [as 列别名],列名 from 表名 [where 条件]; [as 表别名]//查询表中所有数据
distince(列名) //去除重复的值(依照某列)

//条件
like '%条件%' //模糊查询
id in(1,2,3)  //id为 1 2 3 条件
>  <  =  <>

group by 列名  //分组
当有分组时 条件用having

order by 列名 [desc] //正序,倒序

//聚合函数
sum()
avg()
max()
min()
count()

//多表查询
select * from A,B;//两表的乘积

//内连接,查询交集的部分
select * from A,B where 条件//隐式内连接
select * from A [inner] join B on 条件 //显示内连接

//外连接
select * from A left [outer] join B on 条件;//左外连接,查询左表的全部,以及两表的交集
select * from A right [outer] join B on 条件;//右外连接,右表的全部以及右表的交集

事务

start transaction;//开启事务
rollback;//回滚

常见问题

上一篇 下一篇

猜你喜欢

热点阅读