sql-基础(二)

来源:互联网 发布:tensorflow训练mnist 编辑:程序博客网 时间:2024/06/14 07:02

数据库操作(DDL)

创建数据库(在磁盘上创建一个对应的文件夹)
create database [if not exists] db_name [character set xxx]

查看数据库
show databases;查看所有数据库
show create database db_name; 查看数据库的创建方式

修改数据库
alter database db_name [character set xxx]

切换当前工作的数据库
use db_name;切换数据库
select database();查看当前使用的数据库

数据表操作

创建表
create table tab_name(
field1 type[完整性约束条件],
field2 type,)

约束:

  • primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键!
  • unique
  • not null
  • auto_increment 主键字段必须是数字类型。
  • 外键约束 foreign key */

查看表信息
desc tab_name 查看表结构
show columns from tab_name 查看表结构
show tables 查看当前数据库中的所有的表
show create table tab_name 查看当前数据库表建表语句

修改表结构
增加列
alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
例如:alter table user add addr varchar(20) not null unique first/after username;

修改一列类型
alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];

修改列名
alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];

删除一列
alter table tab_name drop [column] 列名;

修改表名
rename table 表名 to 新表名;

删除表
drop table tab_name;

添加主键,删除主键
alter table tab_name add primary key(字段名称,…)
alter table users drop primary key;

唯一索引
alter table tab_name add unique [index|key] 索引名称

表记录增删改
插入(insert)
insert [into] tab_name (field1,filed2,…….) values (value1,value2,…….);

更新(update)
update tab_name set field1=value1,field2=value2,……[where 语句]

删除行(delete)
delete from tab_name [where ….]
delete只能用来删除一行记录
delete语句只能删除表中的内容,不能删除表本身,想要删除表,用drop
TRUNCATE TABLE也可以删除表中的所有数据,词语句首先摧毁表,再新建表。此种方式删除的数据不能在事务中恢复。*/

查(select)
select [distinct] *|field1,field2,…… from tab_name
select 也可以使用表达式,并且可以使用: 字段 as 别名或者:字段 别名
使用where子句,进行过滤查询。
Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的别名。
group by 分组查询:
聚合函数

Mysql在执行sql语句时的执行顺序:
from where select group by having order by

0 0
原创粉丝点击