1、CREATE创建
创建数据库:
CREATE DATABASE [ if NOT EXISTS] 名称 [CHARACTER SET 编码格式] [COLLATE 比较方式];
创建表:
CREATE TABLE [IF NOT EXISTS] 名称 (字段名称 数据类型,……) [CHARACTER SET 编码格式] [COLLATE 比较方式];
2、ALTER修改
修改数据库格式:
ALTER DATABASE 名称 [CHARACTER SET 编码][COLLATE 比较格式];
修改数据库表的格式:
ALTER TABLE 名称 [ADD|CHANGE|DROP|MODIFY] 字段名称 [新名称] [数据类型]
为user表新增一个字段password 字符串32
ALTER TABLE user ADD password VARCHAR(32);
为user表中的name字段重命名为username
ALTER TABLE user CHANGE name username VARCHAR(20);
删除user表中的test字段
ALTER TABLE user DROP test;
修改user表中username字段的长度为30
ALTER TABLE user MODIFY username VARCHAR(30);
修改user的表名为user1
RENAME TABLE user TO user1;
3、DROP删除
删除数据库格式:
DROP DATABASE [ if EXISTS] 名称;
删除数据表格式:
DROP TABLE 名称;
删除数据库mydb4:DROP DATABASE IF EXISTS mydb4;
删除test3表:DROP TABLE IF EXISTS test3;
4、INSERT新增语句
格式:INSERT INTO 表名[(字段名称)] VALUES(值1,值2);
INSERT INTO user (id,username,password,flag) VALUES(5,'战旗','838',1);
//简写形式
INSERT INTO user VALUES5(5,'战旗','838',1);
5、UPDATE修改语句
格式:UPDATE 表名 SET 字段名称=值[多个字段] [WHERE 条件]
修改id为2的用户名字为金星
UPDATE user SET username='金星' WHERE id=2;
修改id为3的用户的名字和密码
UPDATE user SET username='网警',password="654321" WHERE id=3;
修改user中所有的密码为123456
UPDATE user SET password='123456';
6、DELETE删除语句
删除表中的数据
格式:DELETE FROM 表名 [where 条件];
删除user中名称为王星的人
DELETE FROM user WHERE username='王星';
开发中的删除:
1、真删除
直接使用DELETE语句删除指定的数据
2、假删除
使用UPDATE 修该指定字段
为user表新增一字段,flag标记是否有效,0有效1删除
ALTER TABLE user ADD flag int;
UPDATE user SET flag=0;
SELECT * FROM user WHERE flag=0;
UPDATE user SET flag=1 WHERE id=4;
7、SELECT查询语句
主要用来查询数据
格式:SELECT * |字段名称|函数 FROM 表名 [WHERE 条件] [order by 字段名称] [group by 字段名称][having 条件][limit 限制]
1、*
*在查询语句中表示当前表的所有字段(顺序为建表时字段顺序)
2、where条件:
常用的条件符合:
1、=、<、>、!=、<>、<=、>=
2、AND:并且,同时满足
3、OR:或者,满足其一
4、IN (值,……):对应的字段的值再()里,一般不连续的多个值
5、between A and B:在A和B之间,[A,B]
6、IS NULL:为空
7、NOT:不
8、子查询
查询user表中所有信息
SELECT * FROM user;
等价于
SELECT id,username,password,flag FROM user;
查询有效的名字
SELECT username FROM user WHERE flag=0;
查询id大于1小于6的人
SELECT * FROM user WHERE id<6 AND id>1;
等价
SELECT * FROM user WHERE id BETWEEN 2 AND 5;
查询id为4或者id为8
SELECT * FROM user WHERE id=4 OR id=8;
查询id不为6的人
SELECT * FROM user WHERE id!=6;
等价
SELECT * FROM user WHERE id<>6;
查询id为2或5或6的人
SELECT * FROM user WHERE id=2 OR id=5 OR id=6;
等价
SELECT * FROM user WHERE id IN (2,5,6);
8、实名登录
shell> mysql -h host -u user -p
Enter password: ********
9、匿名登录
一些MySQL安装允许用户以匿名(未命名)用户连接到本地主机上运行的服务器。如果你的机器是这种情况,你应该能不带任何选项地调用mysql与该服务器连接:
shell> mysql
成功地连接后,可以在mysql>提示下输入QUIT (或\q)随时退出:
mysql> QUIT
Bye
在Unix中,也可以按control-D键断开服务器。
10、\c取消命令
如果你决定不想执行正在输入过程中的一个命令,输入\c取消它:
例如:
mysql> SELECT
-> USER()
-> \c
mysql>
这里也要注意提示符,在你输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。
下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:
提示符 含义
mysql> 准备好接受新命令。
-> 等待多行命令的下一行。
'> 等待下一行,等待以单引号(“'”)开始的字符串的结束。
"> 等待下一行,等待以双引号(“"”)开始的字符串的结束。
> 等待下一行,等待以反斜点(‘
’)开始的识别符的结束。
/> 等待下一行,等待以/开始的注释的结束。
11、SHOW显示
使用SHOW DATABASES;语句找出服务器上当前存在什么数据库
SHOW TABLES;使用某个数据库后,显示这个数据库中的表
12、DESCRIBE 描述
mysql> DESCRIBE pet;
13、文件导入到表
要想将文本文件“pet.txt”装载到pet表中,使用这个命令:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“pet.txt”的语句已经足够
14、数据库的备份和恢复
数据的备份
在cmd中,输入:mysqldump -u 用户名 -p 要备份的数据库 >路径/文件名称.sql
数据的恢复
需要进入到Mysql,创建数据库,并使用数据库
source 要恢复的sql文件的路径;