您的位置:首页 > 数据库 > MySQL

mysql使用知识点总结

2016-02-23 18:46 459 查看
select * from student s left join Grade g on s.gid=g.gid where sname like ?

【top分页】

select top ((3-1)*5)id from user;

select 5 * from user where id not in(select top ((3-1)*5)id from user);

分页显示用limit?,?/*第一个表示从第?个开始,第二个表示?条数据*/

*切记*select id,blog_id,username,content from comment where blog_id = 18 order by id desc//where后面的字段条件必须是前面写出的某一字段。

selete * from blog order by created_time desc;按时间顺序倒叙

select b.id,b.title,b.content,b.created_time,c.name from blog b,category c where b.categroy_id=c.id order by created_time desc;两表一起查

set names gbk;

然后就可以输入导入.sql文件命令:

mysql> USE 数据库名;

mysql> SOURCE d:/test.sql;

《数据库》

创建数据库:create database `db_name`;

查询数据库:show databases;

查看某数据库的创建语句:show create database `db_name`;

删除数据库:drop database `db_name`;

更改数据库:alter database `db_name`character set gbk;//数据库名后跟修改指令(属性)

《表》

选择默认数据库:use `db_name`;

显示某数据库内所有表:show tables;//前提指定数据库(use `db_name`;)

显示某表内容:show create table `t_name`;//分号可以改为\G使格式清晰

删除表:drop table t_name;

创建表:create table php_1.php_class(
class_no varchar(20),
start_date date);

一个数据库里两个应用数据表:create table info_student(

                          name varchar(20),

                          stu_no varchar(20));
create table exam_student(

                          name varchar(20),

                          stu_no varchar(20),
score int);

查找某一前缀表:show tables like 'exam%';

描述表(显示表各个内容):describe `t_name`;//desc `t_name`;

表重命名:rename table `oldname`to `newname`,`oldname`to `newname`,`oldname`to `newname`;

跨数据库重命名:rename table `oldname` to `db_name`.newname;

交换表内容:rename table t1 to t3,t2 to t1,t3 to t2;

修改列定义:alter table `t_name` add||drop||change||modify;

alter table `t_name` add height int;

alter table `t_name` drop height;

alter table `t_name` modify height varchar(20);

alter table `t_name` change score fenshu int;

alter table `t_name` drop primary key;

alter table blog add blog_id int foreign key references blog(id)

alter table Grade modify  primary key auto_increment;

alter table `name` add height tinyint(3) zerofill;3表示显示最小宽度 

修改表选项:

alter table `t_name`character set gbk;

《数据》

插入数据:insert into `exam_student` (name,stu_no) values ('xiaoli','php_02');//如果为所有字段设置值则可以省略字段列表

获取数据:select 字段列表 from 表名 查询条件;

//select * from exam_student where 1;//where score>=72

//select name,stu_no from exam_student where 1;

删除数据:delete from exam_student where score<72;

修改数据:update exam_student set score=72 where score<72;

查看字符集:show variables;

查看特定字符集:show variables like 'character_set%';

根据名字排序展示:select * from exam_student order by name;

设置校对规则:set character_set_client=utf8,character_set_connection=utf8,character_set_database=utf8,character_set_results=utf8,character_set_server=utf8;

查看校对规则;

show collation 

show collation like 'gbk%';

字段具有默认值:create table php1(

a int not null default 10,

b int not null default 11);

外键 foreign key reference [另一个数据库名](Id)

create table class(

class_no int primary key,//主键不能为空,不可重复//primary key(class_no)

class_name varchar(5),

t_name varchar(5)

days tinyint unsigned);

利用主键查询:select * from exam_student where class_no=1;

自动增长:create table class(

class_no int primary key auto_increment,//null或不写

class_name varchar(5),

t_name varchar(5)

days tinyint unsigned);

自动增长初始值为1:

更改默认值:alter table class auto_increment 10;//以后从11开始设置比10小的默认值不起作用,但可以手动设置值

更改主键值:update class set class_no=21 where t_name='赵四'; 

create table student(

id int primary key auto_increment,

sname varchar(20),

saddress varchar(20),

slikes varchar(20));

《使MySQL可以插入汉字》set names gbk;(把库,表,字段编码都设置成gbk,就是说一下命令要让数据库按照这个编码执行,而无论你的windows命令行默认编码是什么)

insert into `student`(sname,saddress,slikes) values ('张三','陕西','唱歌');

insert into `student`(sname,saddress,slikes) values ('王五','北京','跳舞');

insert into `student`(sname,saddress,slikes) values ('王五','上海','篮球');

insert into `student`(sname,saddress,slikes) values ('赵六','深圳','乒乓');

insert into `student`(sname,saddress,slikes) values ('王军','天津','足球');

不能一次性全插入,因为只能接受分号之前
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: