创建数据库:
create databse xxx
删除数据库:
drop database xxx
查看数据库:
show databases
进入使用xxx库:
use xxx
查看数据库表:
show tables
删除表:
drop table xxx
查看具体表结构:
desc xxx
创建表:
create table `表名`(
'Field' type 约束条件
)
约束条件:
UNSIGNED :无符号,值从0开始,无负数
ZEROFILL:零填充,当数据的显示长度不够的时候可以使用前补0的效果填充至指定长度,字段会自动添加UNSIGNED
NOT NULL:非空约束,表示该字段的值不能为空
DEFAULT:表示如果插入数据时没有给该字段赋值,那么就使用默认值
PRIMARY KEY:主键约束,表示唯一标识,不能为空,且一个表只能有一个主键。一般都是用来约束id
AUTO_INCREMENT:自增长,只能用于数值列,而且配合索引使用,默认起始值从1开始,每次增长1
UNIQUE KEY:唯一值,表示该字段下的值不能重复,null除外。比如身份证号是一人一号的,一般都会用这个进行约束
FOREIGN KEY:外键约束,目的是为了保证数据的完成性和唯一性,以及实现一对一或一对多关系
type:
TINYINT 范围非常小的整数,有符号的范围是 -128到127
SMALLINT 范围较小的整数,有符号的范围是 -32768到32767
MEDIUMINT 中等大小的整数,有符号的范围是 -8388608到8388607
INT 正常大小的整数,有符号的范围是 -2147483648到 2147483647
BIGINT 大整数,有符号的范围是 -9223372036854775808到
FLOAT[(M,D)] (单精度)浮点数。小数点后38位,M是总位数,D是小数点后面的位数
DOUBLE[(M,D)] (双精度)浮点数。小数点后308位,M是总位数,D是小数点后面的位数
DECIMAL[(M[,D])] 常用于存储精确的小数,M是总位数<=65,D是小数点后的位数<=30
CHAR[(M)] 一个固定长度的字符串,在存储时始终用空格填充指定长度。 M表示以字符为单位的列长度。M的范围为0到255.如果M省略,则长度为1,存储时占用M个字节
VARCHAR(M)可变长度的字符串,M表示字符的最大列长度,M的范围是0到65,535,存储时占用L+1(L<=M,L为实际字符的长度)个字节
TINYTEXT[(M)] 不能有默认值,占用L+1个字节,L<2^8
TEXT[(M)] 不能有默认值,占用L+2个字节,L<2^16
MEDIUMTEXT[(M)] 不能有默认值,占用L+3个字节,L<2^24
LONGTEXT[(M)] 不能有默认值,占用L+4个字节,L<2^32
ENUM('value1','value2',...) 枚举类型,ENUM是一个字符串对象,其值从允许值列表中选择,它只能有一个值,从值列表中选择,最多可包含65,535个不同的元素
SET('value1','value2',...) 字符串对象,该对象可以有零个或多个值,最多可包含64个不同的成员
TIME TIME的存储范围是’-838:59:59’到 ‘838:59:59’,因为TIME类型不仅可以用于表示一天中的时间,还可以用于表示两个事件之间的经过时间或时间间隔
DATATIME 包含年月日
TIMESTAMP 比上面小一点 values(CURRENT_TIMESTAMP) 当前时间
插入数据:
insert into 'table' ('field'....) values(key.....)
查询记录:
select * from `table` where id=1 (查询显示id=1的全部记录)
select id,title from `table` where username like '张三'; (查询显示名字为张三的 id和title的内容)
ps:
用 <= 、>= 、= 筛选数字类型;
用 like 筛选字符串类型 ,并且使用百分号 %字符来表示任意字符,类似于正则表达式中的星号 *,如 “com%"可以匹配到以com开头的任意单词。
MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。
select username from news WHERE username REGEXP '^st';(查找username字段中以'st'为开头的所有数据)
删除记录:
delete from `table` news where id=1;
修改记录:
update table `table`set title="xxx";