在数据库中所有的字符串类型,必须使用单引号,不能使用双引!
零:数据库引擎
*看你的mysql现在已提供什么存储引擎:
>show engines;
*看你的mysql当前默认的存储引擎:
>show variables like '%storage_engine%';
*查看表的引擎类型(MyISAM、InnoDB)
>show table status from 数据库名 where name='表名';
*你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
>show create table 表名;
*最常使用的2种存储引擎:
1.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
2.InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
一:操作数据库
查看所有数据库:SHOW DATABASES
切换(选择要操作的)数据库:USE 数据库名
创建数据库:CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARSET=utf8]
删除数据库:DROP DATABASE [IF EXISTS] 数据库名
修改数据库编码:ALTER DATABASE 数据库名 CHARACTER SET utf8
二:数据类型
int:整型
double:浮点型,例如double(5,2),表示最多5位,必须有2位小数。
decimal:浮点型,在表单钱方面使用该类型,因为不会出现精度缺失问题。
char:固定长度字符串类型;char(255)
varchar:可变长度字符串类型;varchar(65535)
text(clob):字符串类型;
clob:包括:tinytext,text,mediumtext,longtext
blob:包括:tinyblod,blod,mediumblod,longblod
date:日期类型,格式为:yyyy-MM-dd。
time:时间类型,格式为:hh:mm:ss。
timestamp:时间戳类型。
三:表
*创建表:
CREATE TABLE [IF NOT EXISTS] 表名(
列名 列类型,
列名 列类型,
列名 列类型,
....
列名 列类型
);
*查看当前数据库中所有的表名称:SHOW TABLES;
*查看指定表的创建语句:SHOW CREATE TABLE 表名;
*查看表结构:DESC 表名;
*删除表:DROP TABLE 表名;
*修改表:前缀:ALTER TABLE 表名
>修改之添加列:
ALTER TABLE 表名 ADD(
列名 列类型,
列名 列类型,
...
列名 列类型
)
>修改之修改列类型(如果被修改的列已存在数据,那么新的类型可能会影响到已存在的数据):ALTER TABLE 表名 MODIFY 列名 列类型;
>修改之修改列名:ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;
>修改之删除列:ALTER TABLE 表名 DROP 列名;
>修改表名称:ALTER TABLE 原表名 RENAME TO 新表名;
四:数据操作
*查询表记录:
SELECT * FROM 表名;
*插入数据:
INSTER INTO 表名(列名1,列名2,...) VALUES (列值1,列值2,...)
或
INSTER INTO 表名 VALUES(列值1,列值2,...);
*修改数据:
UPDATE 表名 SET 列名1=列值1,列名2=列值2,...[WHERE 条件]
条件包括:
>条件必须是一个boolean类型的值或表达式
>运算符:=、!=、<>、>、=、<=、BETWEEN...AND、IN(...)、IS NULL、NOT、OR、AND
between...and举例:update stu set age=20 where age between 10 and 40;
is null举例:select * from stu where age is null;
WHERE age>=18 AND age<=80