表相关语句:
创表相关
CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT ‘‘, `s_birth` VARCHAR(20) NOT NULL DEFAULT ‘‘, `s_sex` VARCHAR(10) NOT NULL DEFAULT ‘‘, PRIMARY KEY(`s_id`) );
mysql常用数据类型
int #整型,4个字节 一般不需要指定宽度,(8):只是显示为8位,默认有负号设置无负号: unsigned double #浮点型,例如double(5,2),标识最多5位,其中2位为小数,即最大为999.99 varchar #可变长度字符串类型。例如:varchar(10) ‘aaa‘ 占3位 char #固定长度字符串类型。例如:char(10) ‘aaa‘ 占10位 text #大文本字符串类型。 blob #字节类型。例如: datetime #日期时间类型。例如:datetime(yyyy-MM-dd hh:mm:ss) date #日期类型。例如:date(yyyy:MM:dd) time #时间类型。例如:time(hh:mm:ss) timestamp #时间戳类型。例如:timestamp(yyyy-MM-dd hh:mm:ss) 会自动赋值 enum #枚举 多选一 enum(‘male‘,‘female‘),default为默认值 例如:sex enum(‘male‘,‘female‘) not null default ‘male‘ set #集合 多选多,可以选一个 set(‘read‘,‘DJ‘,‘DBJ‘,‘run‘) 注:字符串类型和时间类型都要用单引号括起来,空值为null
mysql字段约束
#主键约束:PRIMARY KEY 要求被装饰的字段:唯一和非空 #唯一约束:UNIQUE 要求被装饰的字段:唯一, # .联合唯一:在结尾:unique(字段1,字段2) #非空约束:NOT NULL 要求被装饰的字段:非空 #外键约束:FOREIGN KEY 某主表的外键 #自动增加:AUTO_INCREMENT 自动增加(需要和主键 PRIMARY KEY 同时用) #设置默认值:DEFAULT 为该属性设置默认值 # 在int、char中:zerofill 不足位数默认填充0
删除表相关
删除表
#drop table 数据库表名 drop table Python
修改表相关
修改表字段
alter table 表名 add 字段名 类型(长度) [约束]; -- 添加列 alter table 表名 modify 字段名 类型(长度) [约束]; -- 修改列的类型长度及约束 alter table 表名 change 旧字段名 新字段名 类型(长度) [约束]; -- 修改列表名 alter table 表名 drop 字段名; -- 删除列 alter table 表名 character set 字符集; -- 修改表的字符集 rename table 表名 to 新表名; -- 修改表名
查看表相关
查看表结构
show create table 表名; -- 查看表的创建细节 desc 表名; -- 查看表结构 语句的结尾处(分号前面)添加\g
或者\G
参数可以改变展示形式。
mysql引擎设置
# 查看所有的存储引擎 show engines; # 查看不同存储引擎存储表结构文件特点 create table t1(id int)engine=innodb; -- MySQL默认的存储引擎,支持事务,支持行锁,支持外键。有且只有一个主键,用来组织数据的依据 create table t2(id int)engine=myisam; -- 不支持事务,不支持外键,支持全文索引,处理速度快。 create table t3(id int)engine=blackhole; -- 黑洞,写入它的任何内容都会消失 create table t4(id int)engine=memory;-- 将表中的数据存储在内存中。表结构以文件存储于磁盘。 insert into t1 values(1); insert into t2 values(1); insert into t3 values(1); insert into t4 values(1);
mysql开启远程连接
新建用户远程连接mysql数据库
-
- grant all on *.* to admin@‘%‘ identified by ‘123456‘ with grant option;
- flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。注意admin账户不一定要存在。
mysql字段操作相关
mysql添加字段
insert into 表(字段名1,字段名2..) values(值1,值2..);-- 向表中插入某些列 insert into 表 values(值1,值2,值3..); -- 向表中插入所有列
mysql删除字段
delete from 表名 -- 删除表中所有记录 delete from 表名 where 条件 -- 删除符合 where条件的数据 truncate table 表名; -- 把表直接drop掉,重新建表,auto_increment将置为零。删除的数据不能找回。执行速度比delete快
mysql修改数据
update 表名 set 字段名=值,字段名=值...; -- 这个会修改所有的数据,把一列的值都变了 update 表名 set 字段名=值,字段名=值... where 条件; -- 只改符合where条件的行
mysql查询