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的teqcher表结构_Mysql之库表操作(胖胖老师)相关推荐

  1. MySQL授权修改表结构_MySQL创建修改表结构

    一.数据库的概述 1.什么是数据库 DB,DataBase 数据库:依照某种数据模型进行组织并存放到存储器的数据集合 DBMS,DataBase Management System 数据库管理系统:用 ...

  2. db2查看表结构_mysql误删数据库表的frm文件和ibd文件?试试这样恢复

    概述 之所以做这个实验,也是有个朋友误删了某张表的frm和ibd文件,然后要导入数据的时候一直提示无法重新创建这张表,这时候应该怎么解决呢?我们用一个实验来看看.. 一.环境准备 CREATE TAB ...

  3. MySQL笔记创建表结构_mysql笔记

    mysql端口号:3306 mysql默认管理员:root 进入本机mysql的命令:mysql -u 用户名 -p密码,例如:mysql -u root -p123 远程访问mysql的指令:mys ...

  4. php mysql 查询数据库表结构_mysql查询数据库下的表结构?

    方法:1.使用DESCRIBE命令以表格的形式展示表结构,语法"DESCRIBE 表名;":2.使用"SHOW CREATE TABLE"命令以SQL语句的形式 ...

  5. mysql pdo 插入没效果_MySQL分库分表后用PHP如何来完美操作

    当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间分库 1)按功能分 用户类库.商品类库.订单类库.日志类.统计类库... ...

  6. 怎么修改mysql的表名称_mysql怎么修改表名?

    本篇文章将和大家讲述如何快速修改mysql表名,有同样需要的朋友学习一下吧,希望你看后能有所帮助. mysql修改表名的方法: 具体步骤:打开cmd->输入"mysql -u root ...

  7. 获取表数据_mysql数据库部分表被truncate,部分数据被delete的解决过程

    服务器数据恢复环境部署及故障原因: 华为云ECS网站服务器,服务器采用linux操作系统,数据库版本号5.6,. 在执行数据库版本更新测试时,错误地将本应在测试库执行的sql脚本执行于生产库,导致部分 ...

  8. mysql命令行登录 端口_Mysql命令行常用操作

    一.从命令行登录MySQL数据库服务器 1.登录使用默认3306端口的MySQL /usr/local/mysql/bin/mysql -u root -p 2.通过TCP连接管理不同端口的多个MyS ...

  9. oracle转换表结构,SQLServer表结构转换成Oracle表结构

    /******************** * function:sqlserver 表结构转换成Oralce 表结构,不支持索引以及自动增长 **********************/ --取消 ...

最新文章

  1. 41 岁的黄峥辞任拼多多董事长一职,未来将投身于科学研究!
  2. python学习笔记:(三)list(列表)常用的内置方法
  3. 怀卡托大学硕士计算机科学,2020年怀卡托大学研究生一般几年毕业
  4. redis java序列化_java处理redis的几种序列化策略
  5. linux 查找文件_LINUX常用命令全集
  6. Loadrunner 去缓存
  7. 【玩转嵌入式屏幕显示】(六)ST7789 SPI LCD硬件垂直滚动功能的使用
  8. Swift3.0 中实现发短信功能
  9. 设置屏幕亮度,并且监听屏幕亮度变化
  10. 互联网常见的大数据分析指标
  11. java opts tomcat,jvm初学篇-tomcat JAVA_OPTS配置
  12. java swing界面设计_java swing界面设计
  13. CFA一级学习笔记--衍生品(一)--概念以及定义
  14. 产品经理的工作及职责
  15. 处理未支付订单30分钟后取消方案分析
  16. 解决移动端滑动方向相反
  17. 面试请不要作死回答 耿直可能会害了你-面试技巧分享
  18. SpringBoot+MongoDB GridFS文件上传、下载、预览实战
  19. 恩智浦 飞思卡尔Freescale Kinetis KEA128学习笔记4——ADC
  20. 方法简单手把手教你,空闲时间在家剪辑视频,一天收入300多

热门文章

  1. 星速配资:上周三大指数上涨 煤炭板块表现强势
  2. EfficientDet论文解析
  3. java 对象乱码_java对象乱码怎么办
  4. java curses_Linux Unix C 中的curses库——curses.h
  5. DOS下强行删除文件
  6. thinkph5.1 简单自定义的日志写入方法
  7. Spring+Spring Mvc+Mybatis+MySqlite(SSM框架整合Xml配置)
  8. 我的世界java版合成表_Minecraft 1.12.2 Mod开发笔记——新的合成表、烧炼规则和燃料...
  9. win10计算机未连接到网络适配器,Win10系统上网络适配器处于未连接状态该怎么解决?...
  10. 【LeetCode】675. 为高尔夫比赛砍树