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 ('王军','天津','足球');
不能一次性全插入,因为只能接受分号之前
【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 ('王军','天津','足球');
不能一次性全插入,因为只能接受分号之前
相关文章推荐
- mysql分表和表分区详解
- Hibernate&MySQL——Group是关键字,在使用Hibernate时不能将其作为表名
- 实战mysql分区(PARTITION)
- MySQL分区(顶)
- MySQL的学习--join和union的用法
- MySQL常用操作总结
- Mysql&nbsp;常用命令集
- 如何修改mysql&nbsp;root密码
- 解决mysql&nbsp;显示中文乱码问题
- 修改MySQL中字段的类型和长度
- mysql 之 主从同步(单向同步和双向同步)
- mysql创建多用户,并授权
- mysql中的操作符
- 也议MySQL中隐式转换
- sqlyog连接虚机中的mysql
- mysql 行转列
- MYSQL千万级测试1亿数据的分页分析测试(顶)
- Mysql 分组排序
- 将MySQL 5.1升级到MySQL 5.5的步骤
- mysql中的数据类型