mysql常用命令

1,设置密码
set password for “root”@localhost = password(“new password”);
2,创建表格
create table user(
id int unsigned auto_increment primary key,
name varchar(30),
sex varchar(5) not null default “nv”;
)charset=utf8;

增加一个字段
alter table demo add age int not null default 18;

修改默认的字符集在my.ini文件下
[mysql]
default-character-set=utf8
[mysqld]
charater-set-server=utf8

添加一个字段到最前面的位置
alter table demo add id int auto_increment primary key first;
在name字段之后添加age字段
alter table demo add age tinyint not null default 18 after name;
3,修改
update demo set name = “小明” where id = 1;
4,删除
delete from demo where id = 1;
5,查询
模糊查询
select * from books where nName like “%关键字%”;
范围查询
连续范围
between and
select * from books where bid [not] between 100 and 110;
不连续
select * from books where bid [not] in(100,103,105,108);
子查询:select 语句中的条件又出现了查询语句,
select * from books where btypeid = (select btypeid from btype where btypename = “网站”);
效率低

连接查询:通过多张表的共有字段,查找多张表构成的并集。
内连接:共同字段
select * from 表1,表2 where 表1.共有字段=表2.共有字段。
select * from books as bs,btype as bt where bs.btypeid = bt.btypeid;
外链接:表分为主表,从表,主表全部展示,从表和主表对应的数据显示,没有对应的不展示。
left join
select * from 主表 left join 从表 on z主表.共有字段=从表.共有字段 [其他条件]。
6,聚合函数
sum 函数 求和 select sum (bookid) from books;
avg 求平均值
count 统计记录数 select count(*) from books where btypeid=2;
cconcat(str1,str2);
select concat(nName,btypeid) as p from books;
7,索引
主索引:primary key 主键

普通索引:
最基本的索引,可以添加再多列上
create(
id
name
key 索引名称(字段)
)
create table student (
id int(6) auto_increment primary key,
name varchar(20),
pwd varchar(20),
key dt(name),
key dp(pwd)
)
对已有的表添加
alter table 表名称 add index 索引名称(字段);
alter table student add index ts (stuNum);
唯一索引:
唯一索引 可以加在多列上,加上唯一索引值不能重复
create(
id
name
unique key 索引名称(字段)
)
alter table 表名 add unique qu(stuTel);

全文索引:使用频率不高
create(
id
name
fulltext key 索引名称(字段)
)
alter table 表名 add fulltext qu(stuTel);
不支持中文
添加顺序 主索引 唯一索引 普通索引 全文索引。
索引缺点
数据索引同步更新,全有索引,降低效率。
索引是以文件的形式存储的,索引过多,索引文件会很大
8,外键,
表与表之间的特定关系,保持数据的完整性和一致性。
user 用户
order 订单
删除用户那么该用户的订单被删除。

外键 innodb

create table user(
id int(6) auto_increment primary key,
name varchar(30),
sex int(1)
)engine=innodb;

create table orders(
order id int (6) auto_increment primary key,
u_id int(6),
username varchar(30),
money int(6),
datatime date,
key ud(u_id),
foregin key order_f_key (uid) references user(id)
)engine=innodb;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值