msql语句

表相关语句:

创表相关

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            #集合 多选多,可以选一个 setread,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 intovalues(值1,值2,值3..); -- 向表中插入所有列

mysql删除字段

delete from 表名  -- 删除表中所有记录
delete from 表名 where 条件 -- 删除符合 where条件的数据
truncate table 表名; -- 把表直接drop掉,重新建表,auto_increment将置为零。删除的数据不能找回。执行速度比delete快

mysql修改数据

update 表名 set 字段名=值,字段名=值...; -- 这个会修改所有的数据,把一列的值都变了
update 表名 set 字段名=值,字段名=值... where 条件; -- 只改符合where条件的行

mysql查询

  

 

 

 

 

 

 

 

msql语句

上一篇:2020重新出发,MySql基础,MySql数据库备份与恢复


下一篇:如何用Swoole测试MySQL在特定SQL下的并发性能