MYSQL基本使用方法
注意:1. 数据库中没有明确的大小写区别,但是一般大写为系统语句
2. 语句结尾必须加 ; 结束
1. 在终端打开数据库
我使用的root账户登录mysql 。
mysql -u root -p
回车后的终端显示:Enter password: 在此输入密码进入mysql
Enter password:
2. 库级操作
显示所有的数据库
SHOW DATABASES;
创建新的数据库tb_name(IF NOT EXISTS 是检测该数据库是否已经创建,已经创建过该数据库再次创建不加IF NOT EXISTS会出错,如果确实该数据库必定没有创建可以不写)
CREATE DATABASE IF NOT EXISTS tb_name;
进入数据库 tb_name,结尾不需要;
USE tb_name
删除数据库tb_name(IF EXITSTS 检测该数据书否存在,不存在的数据库直接删除不加 IF EXITSTS 会出错,如果确认该数据库必定存在,可以不写 )
DROP DATABASE IF EXITSTS tb_name;
3. 表级操作
创建一个表tb_name,表中项为field_name,项中的值为field_value,
CREATE TABLE tb_name( create deinition);
上面为创建表tb_name的一般公式,下面描写一个具体的事例:创建一个商品数据库
CREATE TABLE commodity(
id INT,
name VARCHAR(20),
sex CHAR(4),
price DOUBLE(4,2),
dates DATETIME,
ping ENUM('好评','差评')
);
下面为创建数据库表时比较常用的类别
数值类型 | |
---|---|
INT | 4个字节 |
DOUBLE | 8个字节 |
字符类型 | |
---|---|
CHAR(size) | 固定长度(长度必须为size)的字符,最多255个字符 |
VARCHAR(size) | 可变长度(长度不可以超过size)的字符,最多255个字符 |
TEXT | 长文本数据 |
ENUM | 只能添加ENUM选项中的内容。如ENUM(“A”,“B”),该项只能添加A,B或者为空 |
时间日期类型 | |
---|---|
TIME | 时间类型 例如 08:42:30 |
DATE | 日期类型 例如 2014-09-17 |
DATETIME | 日期时间类型 例如 2014-09-17 08:42:30 时间日期中间有位空格,可以用new()添加 |
TIMESTAMP | 格式与DATETIME类型相同,不过每次修改该条数据,该项都会自动修改,添加方式同上 |
显示当前数据库中的所有的表
SHOW TABASES;
显示创建的tb_name表的信息
SHOW CREATE TABLE tb_name;
查看表tb_name的结构
DESC tb_name;
删除tb_name表
DROP TABLE tb_name;
4. 对表中数据进行操作
4.1 添加数据
全字段添加
INSERT INTO tb_name VALUES(all_values);
指定字段添加,也可以制定多个字段同时添加
INSERT INTO tb_name(field_name) VALUES(field_value); # 添加单个字段
INSERT INTO tb_name(field_name) VALUES(field_value1),(field_value2)...; # 添加两个乃至多个字段
4.2 查询数据
全字段查询
SELECT * FROM tb_name;
指定字段(field_name)查询
SELECT field_name FROM tb_name;
带条件(condition)查询
SELECT field_name FROM tb_name WHERE condition;
4.3 修改数据
修改所有数据的单个field_1项的值为value_1
UPDATE tb_name SET field_1=value_1;
修改所有数据的多个field_1,field_2…为value_1,value_2…
UPDATE tb_name SET field_1=value_1,field_2=value_2...;
修改满足条件(condition)的所有数据的单个field_1项的值为value_1(可以看错上面的补充)
UPDATE tb_name SET field_1=value_1 WHERE condition;
4.4 删除表中的数据
删除表中满足条件(condition)的数据,如果不加WHERE就是删除表中的所有数据。
DELETE FROM tb_name WHERE condition;