一、Mysql基础命令
命令作用 |
命令格式 |
命令举例 |
命令解释/效果 |
查看数据库 |
show databases; |
|
展示当前用户下所有数据库 |
使用数据库 |
use db; |
use test |
使用名为 test 的数据库 |
查看表 |
show tables; |
|
查看该库下所有表 |
查看表内所有数据 |
select * from table_name; |
select id,name from userInfo where id>1 and id<10; |
可以选择查询表中某几列的数据,*代表全部列,where condition 为限制条件,可选参数,可以有多个条件 |
查看用户对数据库权限 |
show grants for username; |
show grants for lina; |
|
查看表中列属性 |
desc tb_name 或 show columns from tb_name |
|
|
查看数据库编码 |
show create database db; |
show create database test; |
latin为只支持拉丁语系 |
|
|
|
|
授权/创建用户 |
grant [权限] on db.tb_name to [username]@[IP] identified by'password'; |
grant all on test.* to 'lina'@'%' identified by'lina123'; |
权限有[select, insert, update, delete, create, drop]等,all表示所有权限。数据库名点表名:意思为授权哪一个数据库下的哪一张表给用户,. 代表所有库所有表,库名.* 代表该库下所有表,username 为你想创建的用户,ip 为ip地址,localhost只允许本地访问 %百分号允许任何地方访问,后面的pwd为密码 |
二、mysql中支持的几种常用数据类型
| 数据类型 | 长度(字节) | 范围(有符号) | 范围(无符号) | 格式 |
| :--------: | :--------: | :--------: | :--------: | :--------: |
| tinyint | 1字节 | -2
8~2
8-1 | (0,255) | |
| int 或 integer | 4字节 | -2
31~2
31-1 | (0,4 294 967 295) | |
| bigint | 8字节 | -2
63~2
63 -1| (0,18 446 744 073 709 551 615) | |
| float | 4字节 | | | |
| 时间和日期类型 |
| date | 3 | 1000-01-01/9999-12-31 | | YYYY-MM-DD |
| time | 3 | '-838:59:59'/'838:59:59' | | HH:MM:SS |
| year | 1 | 1901/2155 | | YYYY |
| datetime | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | | YYYY-MM-DD HH:MM:SS |
| timestamp | 4 | 1970-01-01 00:00:00/2037 | | YYYYMMDD HHMMSS |
字符串类型:
数据类型 |
长度 |
使用场景 |
char |
0-255字节 |
定长字符串,大于4个字节,如果数据不满,后面补零补满定义长度 |
varchar |
0-65535 字节 |
变长字符串 |
|
|
|
三、建库、建表、插数据
命令作用 |
命令格式 |
命令举例 |
命令解释/效果 |
创建一个库 |
create database db |
create database mydb charset utf8; |
创建一个支持中文的库 |
- 创建一个表:
create table mytable(
id int not null auto_increment primary key,
name char(32) not null,
register_date DATE not null);
该表有三个字段,id为主键自增,name, register_date 为两个不为空的字段
|
|
|
|
插入数据 |
insert into tb_name(column1, column2) values(v1, v2); |
|
表中两个字段,插入两条数据 |
|
|
|
|