MYSQL

 

一、连接数据库 mysql -u user -p 退出连接 QUIT

二、查看数据库,创建数据库,使用数据库查看数据库 show databases;
显示当前使用的数据库中所有表 SHOW TABLES;

mysql表操作
1、查看表
show tables; # 查看数据库全部表
select * from 表名; # 查看表所有内容

2、创建表
create table 表名(
列名 类型 是否可以为空,
列名 类型 是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8

3、删除表
drop table 表名

4、清空表内容
delete from 表名
truncate table 表名

5、修改表
复制代码
添加列: alter table 表名 add 列名 类型
删除列: alter table 表名 drop column 列名
修改列:
alter table 表名 modify column 列名 类型; -- 类型
alter table 表名 change 原列名 新列名 类型; -- 列名,类型
添加主键:
alter table 表名 add primary key(列名);
删除主键:
alter table 表名 drop primary key;
alter table 表名 modify 列名 int, drop primary key;
添加外键: alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除外键: alter table 表名 drop foreign key 外键名称
修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

6、基本数据类型
MySQL的数据类型大致分为:数值、时间和字符串

mysql表内容操作
1、增
insert into 表 (列名,列名...) values (值,值,...)
insert into 表 (列名,列名...) values (值,值,...),(值,值,值...)
insert into 表 (列名,列名...) select (列名,列名...) from 表
例:
insert into tab1(name,email) values('zhangyanlin','zhangyanlin8851@163.com')

2、删
delete from 表 # 删除表里全部数据
delete from 表 where id=1 and name='zhangyanlin' # 删除ID =1 和name='zhangyanlin' 那一行数据

3、改
update 表 set name = 'zhangyanlin' where id>1

4、查
select * from 表
select * from 表 where id > 1
select nid,name,gender as gg from 表 where id > 1
a、条件判断where
select * from 表 where id > 1 and name != 'aylin' and num = 12;
select * from 表 where id between 5 and 16;
select * from 表 where id in (11,22,33)
select * from 表 where id not in (11,22,33)
select * from 表 where id in (select nid from 表)
b、通配符like
select * from 表 where name like 'zhang%' # zhang开头的所有(多个字符串)
select * from 表 where name like 'zhang_' # zhang开头的所有(一个字符)
c、限制limit
select * from 表 limit 5; - 前5行
select * from 表 limit 4,5; - 从第4行开始的5行
select * from 表 limit 5 offset 4 - 从第4行开始的5行
d、排序asc,desc
select * from 表 order by 列 asc - 根据 “列” 从小到大排列
select * from 表 order by 列 desc - 根据 “列” 从大到小排列
select * from 表 order by 列1 desc,列2 asc - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序
e、分组group by
select num from 表 group by num
select num,nid from 表 group by num,nid
select num,nid from 表 where nid > 10 group by num,nid order nid desc
select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid
select num from 表 group by num having max(id) > 10
特别的:group by 必须在where之后,order by之前

1、创建表
CREATE TABLE 表名(
    字段1 类型,
    字段2 类型,
    ...
)default charset=utf8;       可以在default前面加ENGINE=InnoDB来指定引擎,默认是InnoDB
2、查看表
显示当前数据库的所有的表
SHOW TABLES;
SHOW TABLES FROM 库名;  # 查看指定库下的所有表
 
查看表结构
DESC 表名;
 
查看建表语句
SHOW CREATE TABLE 表名;
 
 
3、删除表
DROP TABLE 表名;
 
 
4、插入数据
插入一笔数据
INSERT INTO 表名 VALUES
(字段1的值,字段2的值,...):
 
 
 
插入多笔数据
INSERT INTO 表名 VALUES
(字段1的值,字段2的值,...),
(字段1的值,字段2的值,...),
.
);
 
向指定字段插入数据
INSERT INTO 表名(字段名1,字段名2) VALUES
(字段1的值,字段2的值);
 
 
5、简单查询数据
查询表中所有数据
SELECT * FROM 表名;
 
查询指定字段的数据
SELECT 字段名1,字段名2 FROM 表名;
 
按条件查询数据
SELECT * FROM 表名 WHERE 条件;
 
 
 
6、修改数据
UPDATE 表名 SET 字段1=值,字段2=值 WHERE 条件;
 
 
 
7、删除数据
DELETE FROM 表名 WHERE 条件;
清空表
DELETE FROM 表名;
TRUNCATE 表名;(重置偏移量)
 
8、修改表结构
 
  • 重命名表
    • ALTER TABLE 表名 RENAME 新表名;
           
  • RENAME TABLE 表名 TO 新表名;
                    
 
  •     增加字段
    • ALTER TABLE 表名 ADD 新字段名 数据类型 [DEFAULT 默认值] [NOT NULL];   # 默认是在最后添加一列字段
      •  ALTER TABLE 表名 ADD 新字段名 数据类型 [DEFAULT 默认值] AFTER 字段名;  # 在某个字段后面添加一列字段
      • ALTER TABLE 表名 新字段名 数据类型 [DEFAULT 默认值] FIRST;
 
    •     删除字段
          ALTER TABLE 表名 DROP 列名;
                  
 
  •     修改字段类型
    • ALTER TABLE 表名 MODIFY 字段名 新数据类型
                  
    ALTER TABLE 表名 MODIFY 字段名 新数据类型 AFTER 字段名;
            #  将修改的字段放到某一列后面
                    
    •  ALTER TABLE 表名 MODIFY 字段名 新数据类型 FIRST;
            
                    
  •     修改列名
                ALTER TABLE 表名 MODIFY 旧列名 新列名 数据类型;
                
    •     修改偏移量
    ALTER TABLE 表名 AUTO_INCREMANT = 100;
 

posted on 2020-10-20 20:52  起个啥名呢?  阅读(61)  评论(0)    收藏  举报

导航