![9c00c4764bf05f46175732c233983963.png](https://i-blog.csdnimg.cn/blog_migrate/a0f940e9998eccbc2c1674818c3b363e.jpeg)
数据基础
SQL语法顺序
![42cad00d76c04cb1f561f1526dc0b68e.png](https://i-blog.csdnimg.cn/blog_migrate/e980a5802f357609dadacc5506ff6519.jpeg)
1.建库
create database mydatabase;
也可以做个判断
create database if not exists mydatabase;
2.删库
drop database mydatabase ;
也可以做个判断
drop database if exists mydatabase;
mysql 中两个字符串拼接
select concat(username,password) 结果 from table ; 结果是全别名as可省略
3.默认值 default默认值,comment注释 engine引擎
create table if not exists student(
id int(4) not null auto_increment comment '学号id',
name varchar(20) not null default '匿名' comment '姓名',
age int(4) not null comment '年龄',
primary key(id)
) ENGINE=INNODB DEFAULT CHARSET=utf8
4.查看建库,建表语句,表结构
show create database mydatabase; 查看建库语句
show create table mytable; 查看建表语句
desc mytable 查看表结构
5.查看mysql中文件位置
show variables like '%dir%';
![78c9c34a1e7405c3bb79f6a6b6ad8dbd.png](https://i-blog.csdnimg.cn/blog_migrate/0cebe408aac979e397dde93851636f28.jpeg)
6.修改表
1.alter table user rename to user1 //修改表名 user-->user1
2.alter table user1 comment 'user表' //修改表注释
3.alter table user1 add passwd varchar(20) not null //增加passwd列
4.alter table user1 modify column passwd int(20)//修改字段类型
5.alter table user1 change passwd passwd1 varchar(20)//修改字段名字(要指定字段类型)
6.alter table user1 add sex int(1) default 0 after name;//在某个字段后面加列
7.alter table user1 change sex sex int(1) after passwd1 //调整字段顺序 sex出现了两次
8.alter table user1 add primary key(id)//增加主键
9.alter table user1 modify id int(10) not null auto_increment; //添加自增 前提是主键
10.alter table drop sex//删除某个字段
11.drop table user1 //删除表
7.插入
insert into student(id,name) values(1,'wh');
insert into student values(1,'wh'); //如果列名一一对应可以不同写列名
insert into student(id,create_time) values(2,current_time);//插入当前时间 字段类型是 datatime 可以插入current_time 表示当前时间
8.删除
delete from student;//student是表名 清空数据
delete from student where id =1 //清楚某条数
TRUNCATE
truncate table student;//删除学生表
delete,truncate,drop区别? delete 和truncate 都是删除表中的数据,不删除表,表结构索引不变。 delete可以具体到删除哪行,truncate 直接删完。 delete保留自增计时器,truncate直接将自增计数器清空 如果在开启了一个事务,delete删了之后如果取消还可以回滚, truncate直接删了,和事务无关 droptable student 是直接把表删了。
9.更新
update