zoukankan      html  css  js  c++  java
  • MySQL基础语法

    创建数据库

    create database 数据库名;

    create database if not exists 数据库名;

    切换到某个数据库

    use 数据库名;

    查看当前使用的数据库

    select database();

    创建表(至少要初始化一列)

    create table 表名(列1 数据类型,列2 数据类型);

    create table 数据库名.表名(列1 数据类型,列2 数据类型);

    create table if not exists 表名(列1 数据类型,列2 数据类型);

    创建临时表

    临时表只对本连接可见,断开连接时自动被drop掉,其他数据库连接不可见,因此重名也没事。

    create temporary table 表名(列名 数据类型);

    模仿创建表

    like用于模仿一个已存在的表,新表的字段属性和索引与原表一致,但是个空表。

    create table 新表名 like 源表名;

    as用于将查询到的结果复制到新表中,但索引和主外键信息不会复制过来

    create table 新表名 as select * from 源表名;

    其他常用属性

    create table t1(id int primary key auto_increment,name varchar(10) default '祖国' not null);

    primary key:表示该字段为主键

    auto_increment:表示自增字段,默认从1开始,一个表中只能有一个自增字段,且该字段必须有key属性,不能有default属性,插入负值会被当成很大的正数。

    default:默认值。

    not null:不能为空。

    key/index:表示索引字段。

    foreign key:表示外键。

    unique:表示该字段为唯一属性字段。

    Insert语句

    向表中增加一列

    alter table 表名 add column 列名 数据类型;

    向表中插入值(into可以省略)

    insert into 表名 values(列1,列2...); //向每一列插入一个数据

    insert into 表名(列1名) values(列1); //向指定列插入数据

    insert into 表名 set 列1名=值,列2名=值; //用set向对应列插入数据

    insert into 表名 select * from 其他表名; //将从其他表查询出来的数据插入到表中,格式必须一致

    insert into 表名 values(1,2,3),(4,5,6),(7,8,9); //可以同时插入多行数据

    insert ignore into 表名 values(数据),(数据); //如果存在相同数据则忽略掉,达到间隙插入数据的作用。

    insert into 表名(a,b,c) values(1,2,3) on duplicate key update c=c+1; //如果插入数据违反了主键或唯一键的唯一性约束,则insert会变成update语句。相当于update 表名 set c=c+1 where a=1;

    update语句

    update 表名 set 列1名=值,列2名=值 where 列3名=值 limit 2;

    update 表1名,表2名 set 表1名.列1名=表2名.列1名 where 表1名.列2名= 表2名.列2名;

    limit表示只修改首先找到的两行数据。

    如果没有where,则所有列都会修改。

    order by 指定update数据的顺序(desc是倒序,因为正序的话会报错)

    delete语句

    delete from 表名; //删除所有数据

    delete from 表名 where 列名=值; //删除指定行

    delete from 表名 order by 列名 limit 5; //删除以指定列正序的前5行

    删除某一列:alter table 表名 drop column 列名;

    select语句

    select * from 表名;

    select 列名,列名 from 表名;

    select 列名 from 表名 where 列=值;

    select * from 表名 order by 列;

    group by 分组(可以在group by id后面加having 限制语句 如 having min(score) > 60)

     create view 储存查找到的数据的引用(视图)

    查找完毕后,若原表增加数据,对该引用无影响,若原表删除查找到的数据,再操作该引用时会报错。

    create or replace view 视图名 as select * from 表名;

    or replace指若该引用已有,则替换掉原来的内容。//和alter view有相同作用

    create index 创建索引

    create index 索引名 on 表名(列名); //创建普通索引

    create index 索引名 on 表名(列名,列名); //创建复合索引

    create unique index 索引名 on 表名(列名); //创建唯一索引

    其他常用语法

    alter database 修改数据库属性

    drop database 删除数据库

    drop index 删除索引  //drop index 索引名 on 表名;

    drop table 删除表  //drop table if exists 表名;

    drop view 删除视图  //drop view if exists 引用名;

    rename table 重命名  //rename table 旧表名 to 新表名; 视图和原表权限不会转换到新表

    truncate table 清空表 //只留下原表名的空表,比drop table 性能更快

    alter table 修改表 //alter table 表名 add column 列名;  alter table 表名 drop 列名;

  • 相关阅读:
    两小时入门Docker
    Django之Model操作
    Django-channels 实现WebSocket实例
    Python项目中的单元测试
    將Python打包成 exe可执行文件
    CORS 跨域
    购物车模块
    登陆模块
    Git 基本用法
    Django ORM性能优化 和 图片验证码
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/11723777.html
Copyright © 2011-2022 走看看