MySQL基本指令

登陆MySQL mysql -u用户名 -p密码 -P端口号(默认3306)-h(登陆其他服务地址)
MySQL默认端口号:3306
MySQL超级用户root
show databases;查看数据库
create database db_name; //创建名为db_name的数据库
show create database db_name;//查看创建的数据库信息
alter database db_name character set utf8;//修改数据库编码
drop database db_name;//删除数据库


use db; 打开数据库db
select database();//显示打开的数据库;
create table (if not exists) table_name(
column_name data_type,......);//创建数据表
show tables [from db_name];
show columns from table_name;//查看数据表的结构




主键约束(primary key):每张数据表只能存在一个主键;主键保证记录的唯一性;主键自动为NOT NULL。
auto_increment 自动编号默认起始值为1,每次增量为1。
自动编号必须是数值型,如果为浮点型则小数部分必须为零且必须与主键组合使用;
而主键不一定必须与auto_increment一起使用(此时必须得为主键id赋值,并且所赋旳值不能相同);
唯一约束(unique key):每张数据表可以存在 多个唯一约束;唯一约束可以保证数据的唯一性;
唯一约束的字段可以为空值(null)。
默认约束(default)当插入记录时,如果没有明确为字段赋值,则自动赋予默认值;
非空约束(not null)
外键约束(foreign key)保证数据一致性完整性,实现一对一或一对多关系;
有外键的为子表,没有外键的为父表;
外键列和参照列必须创建索引,如果外键列不存在索引的话MySQL将自动创建索引;
数据表的存储引擎只能是InnoDB;
foreign key (pid) references 父表 (id);
 show indexes from tbl_name\G;查看索引


外键约束的参照操作:
1、cascade:从父表删除或更新同时自动删除或更新子表匹配的行;
2、set null:从父表删除或更新行,并设置子表的外键列为null,如果使用该选项,
必须保证子表列没有指定not null;
3、restrict:拒绝对父表的删除或更新操作。
4、no action:标准SQL的关键字,在MySQL中与restrict相同


列级约束:对一个数据列建立的约束;
表级约束:对多个数据列建立的约束;
列级约束既可以在列定义时声明,也可以在列定义后声明;
表级约束只能在列定义后声明(not null、default不存在于表级约束)。


修改数据表
添加单列:alter table tbl_name add [column] col_name column_definition [first|after column];
添加多列:alter table tbl_name add [column] (col_name column_definition,..);
删 除 列:alter table tbl_name drop [column] col_name,...;
添加主键约束:alter table tbl_name add [constraint[symbol]] primary key [index_type] (index_col_name);
例如:alter table tb2 add primary key;
添加唯一束: alter table tbl_name add [constraint [symbol]]
unique [index|key] [index_name] [index_type] (index_col_name,...);
添加外键约束:alter table tbl_name add [constraint [symbol]] 
foreign key [index_name] (index_col_name,...) reference_definition
例如:alter table tb2 add foreign key (pid) reference tb2 (id);
添加/删除默认约束:alter table tbl_name alter [column] colname
{set default literal|drop default}
删除主键约束:alter table tbl_name drop primary key;
删除唯一约束:alter table tbl_name drop {index|key} index_name;
删除外键约束:alter table tbl_name drop foreign key fk_symbol;


insert [into] table_name [(col_name,....)] values(val(可以是表达式),...);//插入记录
insert into tbl_name set col_name={expr|default,...};
  插入记录;区别于第一种方法,此方法可以使用子查询(SubQuery);
insert into tbl_name [(col_name,...)] select...;插入记录,将查询结果插入指定的数据表


update tal_name set col_name={expr1|default},colu_name.....[where where_condition];
delete from tbl_name [where where_condition];//更新数据;
select select_expr [,select_expr ...]
[
from table_reference
[where where_condition]
[group by {col_name|position} [ASC(升序默认)|DESC(降序)],..]
[having where_condition]
[orde by{col_name|expr...}]
[limit{[offset,] row_count|...}]
]
 查询表达式可以使用[as] alias_name为其赋予别名
别名可用于group by,order by或having子句;









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值