• MYSQ系列-MYSQL基础增强(Mysql基本语句)


    MYSQL基础增强

    库操作

     1      创建一个使用UTF-8字符集的数据库:
     2      create database mydb character set UTF8;
     3 
     4      创建一个带校对集的数据库
     5      create database mydb character set UTF8 collate utf8_general_ci;
     6 
     7      查看所有数据库:
     8      show databases;
     9      show databases like 'pattern';
    10 
    11      显示数据库的创建信息
    12      show create database mydb ;
    13 
    14      删除数据库:
    15      drop database mydb ;
    16 
    17      修改库(库名不能修改,可以修改库的细节.)
    18      alter database mydb character set gb2312;
    19 
    20      备份库(windows命令)
    21      退出mysql客户端,quit,执行:
    22      mysqldump -uroot -p mydb >c:	est.sql
    23 
    24      恢复库(只能恢复库的数据,不能恢复库,首先要创建库)
    25      Mysql命令行恢复:
    26      use mydb;
    27      source d:ook.sql;
    28      windows命令恢复:
    29      mysql -uroot -p mydb<c:test.sql

    表细节操作

     1     修改表的细节信息:增加列
     2     alter table books add classify varchar(40);
     3 
     4     查看表的创建细节:
     5     show create table employee;
     6     查看表的结构:
     7     desc books;
     8 
     9     修改bookname列的长度:修改列的细节
    10     alter table books modify bookname varchar(60);
    11 
    12     修改列的细节
    13     alter table users change column id id int;
    14 
    15     删除author列:
    16     alter table books drop author;
    17 
    18     修改表名:
    19     rename table books to book;
    20 
    21     修改表的字符集:
    22     alter table users character set gb2312;
    23 
    24     修改列名:将user表的password列修改为userpass列
    25     alter table user change column password userpass varchar(20);
    26     删除表:
    27     drop table users;

    表操作

     1 规范建表:
     2 主键约束:primary key
     3 主键自动增长:auto_increment
     4 唯一约束:unique
     5 非空约束:not null
     6 外键约束:
     7     constraint ordersid_FK foreign key(ordersid) references orders(id)
     8     constraint :定义一个约束
     9     ordersid_FK :约束名称
    10     foreign 外键约束
    11     key(ordersid):约束谁
    12     references orders(id) 参考谁
    13 例1
    14 create table test4(
    15     id int primary key auto_increment,
    16     name varchar(20) unique not null
    17 );
    18 例2.外键约束
    19 create table card(
    20     id int primary key,
    21     name varchar(20)
    22 );
    23 create table users(
    24 id int primary key,
    25 name varchar(20),
    26 card_id int,
    27 constraint card_id_FK foreign key(card_id) references card(id)
    28 );
    29 insert into card(id,name) values(1,'aaa');
    30 insert into users(id,name,card_id) values(1,'bbbb',1);
    31 insert into users(id,name,card_id) values(2,'bbbb',2);//出错
    32 会提示外键相关错误
    33 
    34 insert:
    35 insert into users(id,name) values(1,'bbbb');
    36 insert into users values(1,"aaa"),(2,"bbb"),(3,"ccc");//批量插入多条
    37 insert into users set id=5,name='tom';//使用set插入数据
    38 
    39 update:
    40 update users set name='tom';//将用户名改为tom,谨慎使用
    41 update users set name='tom' where id=1;
    42 update users set name='tom',sex='' where id=2;
    43 update employee set sala=sala+1000 where username='tom';将tom员工的薪水加1000
    44 
    45 delete:
    46 注意一定要与where语句配合使用,否则可能会删除所有记录
    47 delete from table users where id=1;
    48 delete from users;删除所有数据
    49 truncate table employee;//删除表中所有记录,与上一个的不同是:如果表数据很多的话这个快一些,他是摧毁表再重建。使用它的话auto_increment会从1开始.
    50 
    51 select:
    52 select * from users;
    53 select id,name from users;
    54 select distinct name from users;//去掉重复列
    55 select name,(english+chinese+math+history) from student;//统计每个学生的总分
    56 select * from student where name like '%李%';//查询姓名含有李的学生成绩
    57 select * from student where name like '李_';//查询姓李的两个字的学生成绩
    58 select name,math from student order by math desc;//根据数学成绩排序,默认升序
    59 select count(*) from student;//统计个数
    60 select count(*) from student where math>=90;//统计数学成绩大于90分的个数
    61 ......其他功能查阅文档

    相关网址:
    Mysql5.x手册 http://doc.mysql.cn/
    Mysql官网 http://dev.mysql.com/
    Mysql5.7参考手册 http://dev.mysql.com/doc/refman/5.7/en/
    其他参考手册
    CSDN-Mysql知识库

    author: liuning

  • 相关阅读:
    git-format-patch如何指定补丁生成的Subject格式
    openwrt生成的交叉编译器在哪里
    git如何在自动生成补丁时指定补丁名的起始编号
    hyper-v安装虚拟机ubuntu 18.04 64bit后无法使能增强模式怎么办
    Best regards缩写是什么
    git如何自动打补丁
    ubuntu 18.04 64bit build tensorflow report error:C++ compilation of rule '//tensorflow/core/kernels:broadcast_to_op' failed (Exit 4)
    linux安装yaml时出现Could not find a version that satisfies the requirement yaml (from versions: ) No matching distribution found for yaml
    String.format保留小数位数
    BigDecimal的保留位数和四舍五入的方法
  • 原文地址:https://www.cnblogs.com/liun1994/p/5516649.html
Copyright © 2020-2023  润新知