MySqL数据库操作详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

登陆MySqL数据库

mysql -h 127.0.0.1 -u root -p

创建数据库

create database 数据库名;

显示已经存在的数据库

show databases;

删除数据库

drop database 数据库名;

查看MySqL数据库支持的存储引擎类型

show engines;

(可以用'\g'或者'\G'结束,'\g'和;的作用相同,'G'可以让结果显示的更加美观)

查询MySqL数据库支持的存储引擎

show variables like 'have%';

查询默认存储引擎

show variables like 'storage_engine';

*****创建表之前需要用use 数据库名来选择数据库

表的主键:primary key 多字段主键(primary key(属性名,属性名))

表的外键:foreign key constraint 外键别名foreign key(属性名,..,属性名) references 表名(属性名,...属性名)

表的非空约束:not null

表的唯一性约束:unique

表的属性值自动增加:auto_increment

表的属性的默认值:default 默认值

创建表

create table 表名(属性名数据类型[完整性约束条件],

属性名数据类型[完整性约束条件],

... ...

属性名数据类型[完整性约束条件]);

查看表的基本定义

describe 表名;(describe 可以缩写成desc)

查看表默认的存储引擎和字符编码

show create table 表名;

(可以用'\g'或者'\G'结束,'\g'和;的作用相同,'G'可以让结果显示的更加美观)

修改表名

alter table 旧表名rename [to] 新表名;

修改字段的数据类型

alter table 表名modify 属性名数据类型;

修改字段名(也可以同时修改字段名和字段数据类型)

alter table 表名change 旧属性名新属性名新数据类型;

增加字段

alter table 表名add 属性名1 数据类型[完整性约束条件] [first| after 属性名2] (first的作用是将新增加字段设置为表的第一个字段,after 属性名2 的作用是将新增的字段添加到属性名2 所指的字段之后,如果没有上面2个参数,则新增的字段默认为表的最后一个字段)

删除字段

alter table 表名drop 属性名;

修改字段的排列位置

alter table 表名modify 属性名1 数据类型first|after 属性名2;

更改表的存储引擎

alter table 表名engine=存储引擎名;

删除表的外键约束

alter table 表名drop foreign key 外键别名;

删除没有被关联的普通表

drop table 表名;

向表中插入数据

insert into 表名values(... ...);

创建表的时候创建索引

create table 表名(属性名数据类型[完整性约束条件],

属性名数据类型[完整性约束条件],

... ...

属性名数据类型[完整性约束条件]

[unique|fulltext|spatial] index|key

[别名](属性名1 [(长度)] [asc|desc])

);

unique:表示索引为唯一性索引

fulltext:表示索引为全文索引

spatial:表示索引为空间索引

index和key用来指定字段为索引

别名:用来创建索引取的新名称

属性名1:指定索引对应的字段的名称,该字段必须是前面定义好的字段

长度:指索引的长度,必须是字符串类型才可以使用

asc:表示升序排列

desc:表示降序排列

查看索引是否被使用

explain select*from 表名where 索引名\G

创建空间索引

spatial index 索引名(属性名)

在已经存在的表上面创建索引

create [unique|fulltext|sratial] index 索引名on 表名(属性名[(长度)] [ASC|DESC]);

在已经存在的表上,用alter table 语句来创建索引

later table 表名add [unique|fulltext|spatial] index 索引名(属性名[(长度)] [asc|desc]);

删除索引

drop index 索引名on 表名;

创建视图

create [algorithm = {unique | merge| temptable}] view 视图名[{属性清单}]

as select 语句[with [ cascaded | local ] check option];

查询用户的权限

select select_priv,create_view_priv from er where user='用户名';

(select_priv 表示用户是否具有select权限,create_view_priv 表示用户是否具有create_view权限,er表示的是mysql数据库下的user表)

查看视图

1. describe 视图名;(describe 可以缩写成desc)

2. show table status like '视图名';(可以用'\g'或者'\G'结束,'\g'和;的作用相同,'G' 可以让结果显示的更加美观)

3. show create view 视图名;(可以用'\g'或者'\G'结束,'\g'和;的作用相同,'G'可以让结果显示的更加美观)

在view表中查看视图详细信息

select * from information_schema.views;(在mysql中,所有视图的定义都存在

information_schema数据库下的views表中,*表示查看所有的列的信息)

修改视图

1. create or replace view [algorithm={undefined|megrge|temptable}] view 视图名[(属性清单)] as select 语句[with [cascaded|local]check option];

2. alter[algorithm={undefined|megrge|temptable}] view 视图名[(属性清单)] as select 语句[with [cascaded|local]check option];

更新视图

删除视图

drop view [if exists] 视图名列表[restrict|cascade];(if exists是判断视图是否存在)

查询是否存在drop权限

select drop_priv from er where user='用户名';

相关文档
最新文档