mysql 基础篇

update 表名 set 字段=字段+值 where 条件 //给字段运算
explaain sql语句 //解释
optimize table 表名 //优化
flush table 表名 //刷新
truncate table 表名 //清空
select 字段 from 表名 where 字段 like ‘李%’ //模糊查询
auto_increment //可以将字段设置为自增
comment //注释

select 表1别名.字段,表2别名.字段
from 表1.字段,表2.字段
left join 表2 as 表2别名
on 表1别名.字段 关系(=) 表2别名.字段
where 条件
order by 字段
limit 偏移量 条目数

事务
原子性
一致性
隔离性
持久性
begin;
语句体;
commit;

innodb

主键,唯一索引,索引的区别
主键:primary key
1,主键不能为空null
2,值不能有重复
3,一个表只能有一个主键
4,主键名称不可修改
5,聚集型索引,记录物理地址
唯一索引:unique key
1,值不能有重复
2,一个表可以有多个唯一索引
3,名称可自定义
索引:index key
1,值可以重复
2,一个表可以有多个索引
3,名称可以自定义
全能索引:sphnix全文索引引擎
联合索引:多个字段构成的索引

alter table 表名 add primary key(字段);
alter table 表名 add unique key (字段);

update mysql.user set Password=password(‘321′) where User=’root’;
insert into mysql.user (User,Password,Host) values (‘root’,password(‘123′),’localhost’);
grant all on *.* to root@localhost identified by ‘321’;
revoke all privileges, grant option from ‘root’;
optimize table ‘表名’;
truncate table ‘表名’;
drop database 库名;
create table 表名(
字段名 unsigned not null default=’0′,
)engine=MyISAM default charset=utf8;
alter table ‘表名’ change 字段 字段 int(10) unsigned not null default=’0′;
explain sql 语句

insert into 表 (字段) values (植) into 表 set 字段=’植’
delete
update 表名 set 字段=’植’ where 条件
select * from 表 where 条件 order by 字段 group by 字段 limit 起始偏移量,条数

索引:加快查询和排序,减慢写入(CUD)

B-Tree
主键:不能空,不能重复,名字不能改,只有一个,聚集型
唯一:可以为空,不能重复,名字可以改,可以有多个,树形
索引:可以空,可以重复,可以改名,可以有多个,树形

事物:ACID

InnoDB

begin

rollback

commit

replace into
有数据就是 == update
无数据就是 == insert into

=====================================================================================

fread参数多加一个”b”,详情查看手册

error_reporting(E_ALL)开启错误提示

directory_separator自动修改当前系统的路径符号

empty isset

SQL 结构化查询语言
select
create,alter,drop
insert,update,delete
grant,revoke
mysql -h localhost -u root -p
进入数据库
show databases
查看所有数据库
create database
创建数据库
drop database
删除数据库或者用户名
create user
创建一个新用户
INSERT INTO mysql.user (User,Password,Host) VALUES (‘用户名’,password(‘密码’),”主机名”)

UPDATE mysql.user SET Password=password(‘密码’) WHERE User=’用户名’;
为用户名加上密码
flush privileges;
刷新权限
select User,Password,Host FROM mysql,user WHERE User=’gong’;
查看用户
grant all on *.* to ‘gong’@’%’
identified by ‘gong’
将权限改为所有权限
GRANT ALL ON *.* to 用户名@主机 IDENTIFIED BY ‘密码’;
给用户权限
select User,Password,Host from mysql.user;
查看当前所有用户

delete from mysql.user where user not in(‘root’,’gong’);
删除用户名

用户登录,查看已存在用户,添加需要的用户并设置密码,刷新权限,给新加的用户添加库和表的权限,
刷新权限,重新用用户登录查看。

添加创建数据表
create table if not exists 表名(unsigned not null) engine=myisam default charset=utf8

修改表
alter table pre_xuanke change sex sex tinyint(1) unsigned not null default ‘0’;

alter table 表名 add primary key ()

insert into pre_xuanke (sno,cno,grade) values (‘1′,’1′,’30’);
添加内容

update pre_xuanke set grade=”30″ where sno=”2″;

delete from pre_xuanke where sno=”3″;

select * from pre_xuanke where 1;

select count(*) from pre_xuanke;查看内容数目

select max(stime) as max from pre_xuanke;查找最大的stime的值

select avg(stime) avg from pre_xuanke;平均分的值

select * from pre_xuanke limit(1);取出一个值

select * from pre_xuanke order by grade desc limit 1;按从大到小排序取出第一个值

select sname,avg(stime) from pre_xuanke group by sname;取各sname的stime平均分

alter table 表名 change 字段 char() char() not null; //加入字段

alter table 表名 add 字段 char() not null;//加入字段

mysql -u root -p
show databses; //查看所有数据库
create databases gong; //创建gong数据库
select User,Password,Host from mysql.user //查看数据库的用户
create user gong; //创建gong用户
grant all on gong.* to gong@localhost identified by ‘123’;//给用户查看数据库权限,设置用户密码
flush privileges; //刷新权限

//gong用户登陆数据库
use gong; //进入gong数据库
create table if not exists student(sno char(10),sname char(5))engine=myisam default charset=utf8;
//创建student数据表
desc student; //查看student数据表
alter table student add primary key(sno);//设置主键
insert into student (sno,sname) values (‘2′,’3’);//插入数据
select * from student; //查看表内容
select max(sname) as max from student; //查找sname最大的数据
select avg(sname) from student; //返回sname的平均值
select count(*) from student; //计算表数据个数
select * from student order by sname; //sname从小到大排序查看
select * from student order by sname desc;//sname从大到小排序查看
select * from student limit 1; //输出第一个数据
select * from student group by sno; //按sno从小到大排序
alter table

Jason.wang

When you find your talent can't afford to be ambitious, be quiet and study !

You may also like...

发表评论

电子邮件地址不会被公开。