以下是一些简单的CRUD
目录
创建和删除数据库
CREATE
创建数据库:
CREATE DATABASE dbname;
例子:
mysql> create database Soinice;
Query OK, 1 row affected (0.00 sec)
DROP
删除数据库:
DROP DATABASE dbname;
例子:
mysql> drop database Soinice;
Query OK, 0 rows affected (0.00 sec)
SHOW
展示所有数据库:
SHOW DATABASES;
例子:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Soinice |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
ERROR
mysql> create databass Soinice;
ERROR 1064 (42000):
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near 'databass Soinice' at line 1
直译:
您的SQL语法有错误,检查与您的MySQL服务器版本对应的手册正确的语法在第1行'databass Soinice'附近使用。
创建和删除表
CREATE TABLE
创建表:
CREATE TABLE t1(
id INT(10),
name VARCHAR(20)
);
例子:
mysql> create table t1 (
-> id int(10),
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.01 sec)
DROP TABLE
删除表:
DROP TABLE t1;
例子:
mysql> drop table t2;
Query OK, 0 rows affected (0.01 sec)
SHOW TABLES
展示所有表:
当前数据库下所有的表。
SHOW TABLES;
例子:
mysql> show tables;
+-------------------+
| Tables_in_soinice |
+-------------------+
| t1 |
+-------------------+
1 row in set (0.00 sec)
USE
使用哪一个数据库:
用于展示当前操作数据库的名字。
USE dbname;
例子:
mysql> use soinice;
Database changed
查看数据表结构
DESC 或者 DESCRIBE
描述表结构:
DESC tablename;
or
DESCRIBE tablename;
例子:
mysql> desc t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
mysql> describe t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
SHOW
查看表结构详细建表语句:
SHOW CREATE TABLE tablename;
例子:
mysql> show create table t1;
+-------+---------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------+
| t1 | CREATE TABLE `t1` (
`id` int(10) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+---------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
看上去比较乱,其实 也很工整了,不过 还能格式化一下:
mysql> show create table t1\G;
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`id` int(10) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
ERROR:
No query specified
插入数据
INSERT INTO TABLE
插入一条数据:
INSERT INTO TABLE tablename SET id = 1,name=tube;
例子:
mysql> insert into t1 set id=1, name='soinice';
Query OK, 1 row affected (0.00 sec)
插入多条数据:
INSERT INTO TABLE tablename (id,name) VALUES (2,kevin),(3,mark);
例子:
mysql> insert into t1 values (2,'Kevin'),(3,'Mark');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
有两行受影响,这时候看看数据库里面的数据:
mysql> select * from t1;
+------+---------+
| id | name |
+------+---------+
| 1 | soinice |
| 2 | Kevin |
| 3 | Mark |
+------+---------+
3 rows in set (0.00 sec)
注:必须在最后加入; 要不然MySQL认为你没有输入完成。
总结
- MySQL常用客户端命令为mysql,分为交互式和非交互式两种用法;
- -p 用来指定登录密码,如在命令中直接填入密码则参数和密码之间不能有空格,否则会被认为是指定要操作的数据量;
- 库名,表名要注意大小写,操作系统较为敏感;