美文网首页
MySQL基础

MySQL基础

作者: 小小看护 | 来源:发表于2017-10-27 18:13 被阅读6次

    SQL学习

    MySQL

    登录:mysql -u root -p:
    

    数据库相关

    创建数据库: create database db charset utf8;
    查看数据库:show databases;
    查看某一个数据库:show database like 'db';
    查看某一种数据库:show database like 'd';
    删除数据库: DROP DATABASE my_db1;
    

    表相关

    创建表:create table student(student_id int, name varchar(20) );
           create table teacher(id int primary key auto_increment,t_name varchar(20),c_name varchar(128));
    查看表:show tables;
                  
    查看表的描述:desc(describe) student(student为某一个表名);
              show columns 
    查看建表的语句:show create table schedule; (schedule为某一个表名);
    删除表:drop student;
    修改表名:rename table student to xuesheng;
    修改多个表名:rename table xuesheng to student, xuesheng2 to student2;
    修改到另一个表里面并修改名字:rename table xuesheng to class.xuesheng, xuesheng2 to class.xuesheng2;
    添加表元素:alter table student add tizhong int; 
    修改表元素名:alter table student modify name varchar(40);
    注:xuesheng 
    
    

    表的增、删、改、查

    首先先创建一个表teacher
    create table teacher(id int primary key auto_increment,t_name varchar(20),c_name varchar(128));

    插入:

    insert into 表名 (列1,列2) values(值1,值2);
    

    查询:

    select * from teacher;
    
    

    正如所见,SELECT返回所有匹配的行。但是,如果你不想要每个值 每次都出现,怎么办?例如,假如你想得出products表中产品的所有供 应商ID:

    输入: show vend_id from products;
    输出:

    vend_id
    1001
    1001
    1001
    1002
    1002
    1002
    1003
    1003
    1003

    SELECT语句返回9行(即使表中只有3个供应商),因为products表 中列出了9个产品。那么,如何检索出有不同值的列表呢?

    解决办法是使用DISTINCT关键字,顾名思义,此关键字指示MySQL 只返回不同的值。

    select distinct vend_id from products;
    

    不能部分使用DISTINCT DISTINCT关键字应用于所有列而 不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有行都将被 检索出来。

    改:

    update 表名 set 列名称 = 新值 where id = 1;
    

    删:

    DELETE FROM 表名称 WHERE 列名称 = 值
    

    相关文章

      网友评论

          本文标题:MySQL基础

          本文链接:https://www.haomeiwen.com/subject/yijdpxtx.html