MYSQL基础增强

库操作

      创建一个使用UTF-8字符集的数据库:
create database mydb character set UTF8; 创建一个带校对集的数据库
create database mydb character set UTF8 collate utf8_general_ci; 查看所有数据库:
show databases;
show databases like 'pattern'; 显示数据库的创建信息
show create database mydb ; 删除数据库:
drop database mydb ; 修改库(库名不能修改,可以修改库的细节.)
alter database mydb character set gb2312; 备份库(windows命令)
退出mysql客户端,quit,执行:
mysqldump -uroot -p mydb >c:\test.sql 恢复库(只能恢复库的数据,不能恢复库,首先要创建库)
Mysql命令行恢复:
use mydb;
source d:\book.sql;
windows命令恢复:
mysql -uroot -p mydb<c:test.sql

表细节操作

     修改表的细节信息:增加列
alter table books add classify varchar(40); 查看表的创建细节:
show create table employee;
6 查看表的结构:
desc books; 修改bookname列的长度:修改列的细节
alter table books modify bookname varchar(60); 12 修改列的细节
alter table users change column id id int; 删除author列:
alter table books drop author; 修改表名:
rename table books to book; 修改表的字符集:
alter table users character set gb2312; 修改列名:将user表的password列修改为userpass列
25 alter table user change column password userpass varchar(20);
删除表:
drop table users;

表操作

 规范建表:
主键约束:primary key
主键自动增长:auto_increment
唯一约束:unique
非空约束:not null
外键约束:
constraint ordersid_FK foreign key(ordersid) references orders(id)
constraint :定义一个约束
ordersid_FK :约束名称
foreign 外键约束
key(ordersid):约束谁
references orders(id) 参考谁
例1
create table test4(
id int primary key auto_increment,
name varchar(20) unique not null
);
例2.外键约束
create table card(
id int primary key,
name varchar(20)
);
create table users(
id int primary key,
name varchar(20),
card_id int,
constraint card_id_FK foreign key(card_id) references card(id)
);
insert into card(id,name) values(1,'aaa');
insert into users(id,name,card_id) values(1,'bbbb',1);
insert into users(id,name,card_id) values(2,'bbbb',2);//出错
会提示外键相关错误 insert:
insert into users(id,name) values(1,'bbbb');
insert into users values(1,"aaa"),(2,"bbb"),(3,"ccc");//批量插入多条
insert into users set id=5,name='tom';//使用set插入数据 update:
update users set name='tom';//将用户名改为tom,谨慎使用
update users set name='tom' where id=1;
update users set name='tom',sex='男' where id=2;
update employee set sala=sala+1000 where username='tom';将tom员工的薪水加1000 delete:
注意一定要与where语句配合使用,否则可能会删除所有记录
delete from table users where id=1;
delete from users;删除所有数据
truncate table employee;//删除表中所有记录,与上一个的不同是:如果表数据很多的话这个快一些,他是摧毁表再重建。使用它的话auto_increment会从1开始. select:
select * from users;
select id,name from users;
select distinct name from users;//去掉重复列
select name,(english+chinese+math+history) from student;//统计每个学生的总分
select * from student where name like '%李%';//查询姓名含有李的学生成绩
select * from student where name like '李_';//查询姓李的两个字的学生成绩
select name,math from student order by math desc;//根据数学成绩排序,默认升序
select count(*) from student;//统计个数
select count(*) from student where math>=90;//统计数学成绩大于90分的个数
......其他功能查阅文档

相关网址:
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

MYSQ系列-MYSQL基础增强(Mysql基本语句)的更多相关文章

  1. MYSQL系列-MYSQL基础增强(Myql函数)

    MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数 mysql> SELECT CONCAT('My', 'S', 'QL' ...

  2. (3.15)mysql基础深入——mysql默认数据库/系统数据库

    (3.15)mysql基础深入——mysql默认数据库 关键词:Mysql默认数据库,mysql系统数据库 系统数据库的组成 一共4个 [1]information_schema(可以理解成字典表) ...

  3. (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest【待完善】

    (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢 ...

  4. (3.13)mysql基础深入——mysql日志分析工具之mysqlsla【待完善】

    (3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 ...

  5. (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb)

    (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb) 关键词:mysql日志文件,mysqldumpslow分析工具 目录:日志文件的分类 1. ...

  6. MySQL基础、MySQL安装和MariaDB安装

    MySQL基础 目录 MySQL基础 关系型数据库介绍 数据结构模型 RDBMS专业名词 关系型数据库的常见组件 SQL语句 MySQL安装与配置 MySQL安装 MariaDB安装 关系型数据库介绍 ...

  7. (3.16)mysql基础深入——mysql字符集

    (3.16)mysql基础深入——mysql字符集 关键字:mysql字符集,mysql编码 目录 1.概念 2.常用的字符编码 3.查看mysql字符集 [3.1]查看服务器支持的字符集 [3.2] ...

  8. (3.11)mysql基础深入——mysql文件分类与配置文件管理

    (3.11)mysql基础深入——mysql文件分类与管理 关键词:mysql配置文件,mysql参数文件,mysql中的my.cnf 目录:mysql数据库文件分类: [1]参数文件:my.cnf ...

  9. (3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析

    (3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析 my.server主要分为3大部分 [1]变量初始化部分 [2]函数声明部分 [3]具体执行部分 #!/bin/sh # ...

随机推荐

  1. WinForm 中使用 Action 子线程对主线程 控制进行访问

    /// <summary> /// 开启新线程执行 /// </summary> /// <param name="sender"></p ...

  2. C#中如何向数组中动态添加元素

    转自:https://blog.csdn.net/qq_35938548/article/details/78325558 背景:现需要向数组中循环插入字符串,但C#中的数组是不支持动态添加元素的,只 ...

  3. python-判断语句介绍

    1.生活中的判断场景 1.1 火车站安检 1.2 上网吧 2.开发中的判断场景 2.1 密码判断 2.2 重要日期判断 if 今天是周六或者周日: 约妹子 if 今天是情人节: 买玫瑰 if 今天发工 ...

  4. B. Spreadsheets(进制转换,数学)

    B. Spreadsheets time limit per test 10 seconds memory limit per test 64 megabytes input standard inp ...

  5. docker 自定义镜像

    step1:自定义镜像 原镜像 registry.aspider.avlyun.org/library/php-apache docker run -d --name xz_apache regist ...

  6. Linux下指定线程的名字

    为了能方便的区分一个进程中的每个线程,可以通过prctl()给每个线程取个名字.这样在会创建多个线程的程序执行过程中,就能知道一个pid或tid对应的是哪个线程,对调试程序有一定帮助. prctl是个 ...

  7. OEL6.8安装虚拟带库模拟器

    最近在虚拟机下搭建了一个OSB备份环境,其中使用到了虚拟带库,以下是虚拟带库的配置过程,简要记录之. 1.下载虚拟带库的源码(mhvtl-2016-03-10.tgz). 2.解压缩源码. # cd ...

  8. 绿色版NVM安装与配置详细说明

      绿色版本(不需要安装,直接解压,然后配置环境变量等) 由于最初发布的nvm并不支持window,所以如果希望可以像在*nix上一样控制node的版本,有两种选择: nvm-windows nodi ...

  9. Python web前端 05 JavaScript

    Python web前端 05 JavaScript 一.获取元素 1.初识JavaScript /* .. */ #这是多行注释 // #这是单行注释 #JavaScript是一种脚本语言,是一种动 ...

  10. 洛谷 P3695 CYaRon!语 题解 【模拟】【字符串】

    大模拟好啊! 万一远古计算机让我写个解释器还真是得爆零了呢. 题目背景 「千歌です」(我是千歌).「曜です」(我是曜).「ルビィです」(我是露比).「3人合わせて.We are CYaRon! よろし ...