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

MySQL入门基本知识

2017-04-17 17:19 295 查看

MySQL入门基本知识

1、show databases;

查看服务器内的数据库

2、create database home;

创建数据库home

3、drop database home;

删除数据库home

4、grant all privileges on home.* to root@localhost identified by ‘12345678’;

创建操作数据库的专用用户root,创建新用户时使用grant命令,并设置密码12345678

5、 use home

指定使用的数据库

6、 select database();

显示现在使用中的数据库

7、 create table customer(birth date);

创建新表customer

8、show tables;

显示所有表



9、desc customer;

显示表customer结构



10、drop table Customer;

删除表

11、 id smallint unsigned auto_increment primary key,

username varchar(30) not null

);



12、group by

select sex from users group by sex;

查询结果分组

13、having

select sex ,age from users group by sex having age > 35;

带条件分组

14、order by

select * from users order by id desc;降序排列(由大到小)

对分组结果进行排序

15、limit

select * from users limit 2;限制返回两条数据

select * from users limit 3,2;返回第四条数据起两条数据

限制查询结果返回的数量

16、子查询

指出现在其他SQL语句内的SELECT子句;

例如: select * from t1 where col1=(select col2 from t2);

子查询可以返回标量、一行、一列或子查询

17、alter table

修改表结构

格式:alter table 表名 操作类型 属性 属性类型

操作类型:

rename 修改表名

add 添加

drop 删除

modify 修改

change

18、操作表的约束

约束关键字含义
not null约束字段不能为空
default设置字段的默认值
unique key约束字段的唯一性
primary key设置表的主键,作为唯一标识
auto_increment自动增加,自动编号
foreign key设置表的外键
格式:create table 表名( 属性名 属性类型 约束关键字 ,……..);

19、索引的操作

数据库对象索引主要为了提高从表中检索数据的速度,根据索引的存储类型,可以分为B型树索引(BTREE)和哈希索引(HASH)

(1)创建普通索引

格式

create table index_test(

depto int,

…….,

…….,

index 索引名(属性名)

);

如下

create table index_test(

depto int,

dname varchar(20),

loc varchar(40),

index index_deptno(depto)

);

(2)校验数据库表index_test是否索引创建成功

show create table index_test \G;



(3)校验数据库表index_test索引是否被使用

explain

select * from index_test where depto=1 \G;

(4)在已经存在的表上创建普通索引

格式:create index 索引名 on 表名 (属性名)



show create table index_test \g;



(5)通过SQL语句Alter table 创建普通索引

如:alter table index_test add index index_deptno(deptno);

(6)唯一索引

唯一索引就是创建索引时,限制索引的值必须是唯一的,这种类型的索引可以更快的检索速度

在index前面加 unique

如:unique index

on和where的区别

1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录,只是显示null

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: