mysql 使用表格语法_MySQL用户、库、表的操作语法

MySQL用户、库、表的操作语法

关于用户的语法

查看当前系统里的用户:

select user,host from mysql.user;

查看当前登陆的用户

select user();

创建用户

语法:create user '用户'@'主机' identified by '密码';

示例:create user 'anuo'@'localhost' identified by '123'

创建用户并授权

grant 权限 on 库.表 to '用户名'@'主机域' identified by '用户密码'

示例:grant all on *.* to 'anuo'@'localhost' identified by '123';

查看某用户的权限

show grants for '用户'@'主机'\G

示例:show grants for 'anuo'@'10.0.0.0/24'\G

回收权限

revoke 权限 on 库.表 from 用户名@主机;

示例:revoke insert on *.* from anuo@localhost;

删除用户

drop user '用户名'@'主机'

示例:drop user 'anuo'@'10.0.0.0/24';

库操作语法

查看数据库–查看全部

mysql> show databases;

查看你相关的帮助

mysql> ? show databases;

创建一个数据库

语法:create database 库名;

mysql> create database haha;

创建数据库时定义字符编码

语法:create database 库名 charser 字符编码;

mysql> create database haha charset utf8 ;

查询数据库定义信息

语法:show create database 库名;

mysql> show create database haha;

存在的数据库修改字符编码

语法:alter database 库名 charser 字符编码

mysql> alter database haha charset gbk;

标准修改系统

ALTER DATABASE [库名] CHARACTER SET 字符集名 COLLATE 校对规则;

ALTER DATABASE haha CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

查看支持的字符集和校对规则.

1、mysql> show character set;

2、mysql> show collation;

查看当前数据库的状态:

mysql> status;

--------------

mysql Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using EditLine wrapper

Connection id: 2 --链接的id号

Current database: test --当前的库名

Current user: root@localhost --登陆的用户

SSL: Not in use --是否使用了ssl

Current pager: stdout

Using outfile: ''

Using delimiter: ; --会话的终结符

Server version: 5.6.25-log Source distribution --MySQL的版本号

Protocol version: 10 --协议版本

Connection: Localhost via UNIX socket --使用的链接类型,是通过socket文件进行链接

Server characterset: utf8 --服务器使用的字符集

Db characterset: utf8 --当前数据库使用的字符集

Client characterset: utf8 --当前客户端使用的字符集

Conn. characterset: utf8 --当前链接使用的字符集

UNIX socket: /data/3306/mysql.sock --socket文件路径

Uptime: 12 min 10 sec --数据库的运行时长

Threads: 1 Questions: 22 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.030

删除数据库

语法:drop database 库名

mysql> drop database haha;

切库

mysql> use haha;

表操作的语法

查看库里面的表 (注意:选进入库才能看库里的表)

mysql> show tables;

查看库里所有表状态信息

mysql> show table status\G

查看单个表的状态

语法:show table status like '表名'\G

mysql> show table status like 'xixi'\G

创建表

语法:create table 表名(结构);

mysql> create table xixi(id int);

查看表

mysql> show tables;

删除表

语法:drop table 表名;

mysql> drop table xixi;

创建更多的表结构;

语法:create table 表名(字段1,字段2,……) --注意每字段要用逗号隔开

mysql> create table hehe(id int,name char(20),sex char(4));

字段的定义:字段名、数据类型、约束

常用的数据类型

int --整型数值

char --定长字符

varchar --变长字符

date --日期

time --时间

year(2|4) --年份

常用的约束:

null --表示该字段可以为空(不设置默认为此类型)

not null --表示该字段为非空

aoto_increment --自增长,适用于数值型

定义主键

primary key(字段1,字段2,……) --(一个表只能有一个主键,一个主键可以包含多个字段)

alter table xixi add primary.key(id) --把xixi表下的id字段设置为主键

创建表规格时就定义主键

1、create table xixi(id int(4) primary key,name chat(11)); --定义了单一主键

2、create table xixi(id int(4),name char(11),primary key(id,name)); --定义联合主键

unique key(字段1,字段2,……) --定义唯一键,一个表中可以有多给唯一键

创建索引

index index_name(字段)

alter table xixi add index index_name(name) --把xixi表下的name字段创建普通索引

创建表时就定义索引:

create table xixi(id int(4),name char(11),primary key(id),index index_name(name));

查看索引

show index from xixi; --表示查看xixi表中的索引

查看表中的部分索引

show index from xixi where key_name like 'ind'; --查看xixi表中以ind开头的索引

注意:下面这种语法格式也是可以的,更能看清楚定义时的语句 推存此用法。

mysql> create table anuo

-> (

-> id int(4),

-> name char(11),

-> primary key(id),

-> index index_name(name)

-> );

Query OK, 0 rows affected (0.27 sec)

创建新表时复制另外一个旧表的结构

语法:create table 新表名 like 旧表名;

示例:create table anuo like xixi;

查看建表语句

1、mysql> show create table hehe;

2、mysql> show create table hehe\G

修改表名字

1、语法:rename table 表名 to 新表名;

mysql> rename table hehe to wahaha;

2、语法:alter table 表名 rename to 新表名;

mysql> alter table wahaha rename to xixi;

查看表结构

mysql> desc xixi;

修改表结构

mysql> alter table xixi add char(40) NOT NULL;

mysql> desc people;

after在指定字段后面添加

语法:alter table 表名 add 新字段 after 指定的字段

示例:alter table xixi add age int(4) after name;

first在指定字段前面添加(默认添加在最前面)

alter table xixi add id1 int first ,add shouji char(11) after name ;

删除表字段:

mysql> alter table xixi drop sex;

修改表字段的定义

mysql> alter table xixi modify name char(20);

修改列名:

mysql> alter table xixi change name a_name char(30) ;

创建表时指定多个选项如:存储引擎、自增长、字符集

示例:

mysql> create table xixi

-> (

-> id int primary key auto_increment,

-> name char(11) not null,

-> index index_name(name)

-> )

-> engine=InnoDB auto_increment=2 default charset=utf8;

--指定了InnoDB存储引擎 ,id字段设置了自增长从2开始 ,默认的字符集是utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值