SQL
概念:结构化查询语言(SQL = Structured Query Language),
也是一种编程语言(数据库查询和程序设计语言),可以用于数据的存取及查询,更新,管理关系型数据库系统
ps: 不同数据库系统之间的SQL不能完全相互通用;

分类
针对操作的对象不同,可以分成不同语言
1: 数据操作(数据管理)语言  DML(Data Management Language)
    1): 查询数据           DQL
    2): 增, 删, 改           DML
2: 数据定义语言            DDL(Data Definition Language)     --比如表的定义
3: 数据控制语言               DCL(Data Control Language)

****************************************************************************************************************

数据库, 表, 数据三者之间的关系
表是数据的载体, 数据库又是表的容器
****************************************************************************************************************

数据库操作
mysql> show databases;    --查看所有的数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

创建数据库
语法: create database [if not exists] db_name [数据选项]
例: create database student_system;
例: create database if not exists student_system;  --会先判断student_system是否已经存在,如果存在就不会创建,可以避免异常

例:C:\WINDOWS\system32>mysqladmin -uroot -p create bbbb  --可以通过mysqladmin来进行创建
*********************************************************************

数据库的命名规则
1: 见名知意, 建议是使用下划线的方式
2: 可以使用任意的字符,比如数字,符号,中文等
    create database 胖胖;
3: 如果命名很特殊,比如是以纯数字或者关键词来命名时,就要使用限定符来包裹(限定符指反引号``);
    create database `123456`;
4: 是否区分大小写(这个当前的操作系统有关);
5: 数据库的名字都可以使用反引号来创建
***********************************************************************

ps: 数据库创建时会形成一个目录,目录名是数据库名,如果数据库名是特殊字符,那么文件名会经编码形式来表式
    目录下面会有一个db.opt文件保存着数据库的选择信息;
***********************************************************************

数据库的相关操作
1: show databases;     --查看所有的数据库
2: drop [if exists] database bbbb; --删除指定的数据库
3: show create database student_system;  --查看数据库(student_system)创建信息
    +----------------+------------------------------------------------------------------------+
    | Database       | Create Database                                                        |
    +----------------+------------------------------------------------------------------------+
    | student_system | CREATE DATABASE `student_system` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +----------------+------------------------------------------------------------------------+
4: alter database db_name [指定的操作]   --修改数据库信息
    例: alter database student_system character set 'utf8';
********************************************************************************************************************

表的相关操作
表的创建      
    创建语法: create table [if not exists] tbl_name(列结构)[选项]
    表是数据的载体, 数据库又是表的容器,所以在创建表之前,需要先定它所属的那个数据库,
    表一定属性某一个数据库的

1: 可以在创建表的时候, 在表名之前指明所属的数据库
    create table `student_system`.student(
        name varchar(20),
        sex varchar(3),
        age int
    );
2: 可以先使用use db_name指明当前默认的数据库,然后再创建表
    use student_system
    create table teacher(
        name varchar(20),
        sex varchar(3),
        age int
    );

3: show tables;    --查看所有的表,也要先指明当前默认的数据库

4: show create table teacher;   --查看创建表(teacher) 创建信息
   show create table teacher\G

5: describe teacher;   --查看表(teacher)的结构
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | name  | varchar(20) | YES  |     | NULL    |       |
    | sex   | varchar(3)  | YES  |     | NULL    |       |
    | age   | int(11)     | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    desc teacher;  --可以简写describe teacher;

6: drop table [if exists] tbl_name;   --删除表(包裹表结构)
    例: drop table student;
    例: drop table if exists student;
***************************************************************************************************************

修改表
修改表名
语法:rename table old_table_name to new_table_name
例: rename table student to student_1;
例: rename table student_2 to student_1, teacher to teacher_1;   --可以同时修改多个表名
例: rename table student_1 to `test`.student_2; --可以跨数据库重命名, 可以通过这个表重命名的方式来对数据库重命名

修改列的定义
新加列(add)
alter table student_1 add id int;

删除列(drop)
alter table student_1 drop id;

修改列定义(modify)
alter table student_1 modify name varchar(10);

重命名列(change)
alter table student_1 change age student_age int(3);
*******************************************************************************************************

表数据操作(增删改查)
插入数据(创建数据create)
语法: insert into 表名(字段列表) values(值列表)
例: insert into teacher_1(name,age) values('胖胖', 18);
例: insert into teacher_1 values('小胖','男', 16);   --如果没有指定字段列表,那么要插入的值要和列中的字段顺序一样
    insert into teacher_1(name,age) values('小未', 19);
    insert into teacher_1 values('阿哈','女',18);

查询数据(读取数据read)
语法: select 字段列表 from 表名 where 查询条件
例: select name,age from teacher_1;
例: select * from teacher_1;   --如果字段列表使用*号来代替, 那么表示查询所有的字段
例: select * from teacher_1 where name = '胖胖';    --可能使用查询条件进行数据过滤,拿到想要的数据;
例: select * from teacher_1 where 1;       --where 1表示条件永远成立
    select * from teacher_1 where 0;

修改数据(update)
语法: update 表名 set 字段=新值,... where 条件
例: update teacher_1 set sex='女' where name = '小胖';
    update teacher_1 set sex = '保密', age = 15, name = '阿呵' where name = '阿哈';

删除数据(delete)
语法: delete from 表名 where 条件
例: delete from teacher_1 where age = '18';
例: delete from teacher_1;   --如果没有条件进行删除,则会删除整个表的删除(不同于drop table teacher_1)
ps: 在删除数据时,一定要给一个具有严格逻辑判断条件,不然很容易造成数据误删除,最后造成数据的损失

curd(create update read delete)--增删改查

Mysql之库表操作(胖胖老师)的更多相关文章

  1. mysql基础之对库表操作

    原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...

  2. Mysql 库表操作初识

    Mysql 库表操作初识 终端登录mysql 这里只演示win下, cmd 终端. 至于怎么在win下, linux, mac安装, 感觉这是一个入门级的百度搜索问题, 安装都搞不定, 确实有点尴尬, ...

  3. LVS+Keepalived实现MySQL从库读操作负载均衡

    http://www.osyunwei.com/archives/7464.html (学习运维知识好站) 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.1 ...

  4. LVS+Keepalived实现MySQL从库读操作负载均衡配置

    转载于osyunwei 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.126 MySQL从服务器:192.168.21.127,192.168.21.128 ...

  5. Python之MySQL库表操作

    一:库操作 1.1 增 # 语法 # create database 库名 default charset utf8; create database db1 default charset utf8 ...

  6. mysql 之库, 表的简易操作

    一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8;   charset uft8  可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...

  7. MySQL之库表详细操作

    一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使 ...

  8. MySQL的库表详细操作

    MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 ...

  9. mysql对库,表,数据类型的操作以及完整性约束

    一丶对库的操作 求救语法: help create database; 1.创建数据库 CREATE DATABASE 数据库名 charset utf8; 2.数据库的命名规则: 可以由字母.数字. ...

随机推荐

  1. 微信公众号报错 config:invalid signature

    官方已经提供了微信 JS 接口签名校验工具(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign),填入相应的参数就能出来相应的signa ...

  2. 福州大学W班 软件工程课中期调查

    问卷地址:https://www.wjx.cn/jq/17054810.aspx

  3. Beta冲刺第七天

    一.昨天的困难 没有困难. 二.今天进度 1.林洋洋:MD图片上传,修复权限问题,修复本地存储判空问题,修复协作申请没有过滤问题. 2.黄腾达:添加文件链接和邀请链接复制功能,协作树界面优化. 3.张 ...

  4. idea搭建springdata+mongodb+maven+springmvc

    idea搭建springdata+mongodb+maven+springmvc 今天我们来学习一下SpringData操作MongoDB. 项目环境:IntelliJ IDEA2017+maven3 ...

  5. IntelliJ IDEA插件——冷门神器分享

    IntelliJ IDEA就不必介绍了,至今还能保持IDE前三的神器,如今java程序员的首选,今天介绍几款冷门但绝对是神器的IDEA插件. 前言 IDEA自不必说,IDEA插件是开发中必备的神器,相 ...

  6. raid5两块硬盘离线怎么办? 强制上线失败如何恢复数据

    服务器故障描述: 客户使用Dell 2850服务器组建了raid5磁盘阵列,阵列中包含有6块硬盘(SCSI硬盘,单盘容量300G),服务器操作系统为linux Redhat4:文件系统为ext3文件系 ...

  7. django报错Manager isn't accessible via UserInfo instances

    出现这种错误是因为调用模型对象时使用了变量名,而不是对象名(模型类),例如: user = UserInfo()user_li = user.objects.filter(uname=username ...

  8. lamp环境搭建经验总结

    环境:centos6.4,13个源码包:参考教程高罗峰细说php思路:1.首先确定gcc,g++的安装,因为这是c语言的编译工具,没有它,源码不可能安装,redhat的yum需要配置,分为本地源和网络 ...

  9. 外网访问本地服务器下的web应用

    让本地服务器可以在外网访问的方式有很多,介绍其中一种: 由于本人是在自己电脑上装了一个虚拟机, 测试环境为:虚拟机作为服务器,服务器中装了一个禅道,虚拟机IP192.168.2.221,本人通过tpl ...

  10. Python之IO模型

    IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞 ...