Mysql之库表操作(胖胖老师)
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之库表操作(胖胖老师)的更多相关文章
- mysql基础之对库表操作
原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...
- Mysql 库表操作初识
Mysql 库表操作初识 终端登录mysql 这里只演示win下, cmd 终端. 至于怎么在win下, linux, mac安装, 感觉这是一个入门级的百度搜索问题, 安装都搞不定, 确实有点尴尬, ...
- LVS+Keepalived实现MySQL从库读操作负载均衡
http://www.osyunwei.com/archives/7464.html (学习运维知识好站) 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.1 ...
- LVS+Keepalived实现MySQL从库读操作负载均衡配置
转载于osyunwei 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.126 MySQL从服务器:192.168.21.127,192.168.21.128 ...
- Python之MySQL库表操作
一:库操作 1.1 增 # 语法 # create database 库名 default charset utf8; create database db1 default charset utf8 ...
- mysql 之库, 表的简易操作
一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8; charset uft8 可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...
- MySQL之库表详细操作
一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使 ...
- MySQL的库表详细操作
MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 ...
- mysql对库,表,数据类型的操作以及完整性约束
一丶对库的操作 求救语法: help create database; 1.创建数据库 CREATE DATABASE 数据库名 charset utf8; 2.数据库的命名规则: 可以由字母.数字. ...
随机推荐
- GitHub趋势:Vue.js大有超过TensorFlow之势!
2月,Github上第二受欢迎的项目是Flutter.Flutter的第一个测试版本是作为2018年世界移动通信大会的一部分而开始的. Flutter是一款移动UI框架,旨在帮助开发人员在iOS和An ...
- C语言博客作业——函数
一.PTA实验作业 题目1:6-6 使用函数输出水仙花数 1.本题PTA提交列表 2. 设计思路 int narcissistic( int number ) //函数定义 1.定义整数型变量a.i分 ...
- 201621123040《Java程序设计》第十一周学习总结
1.本周学习总结 1.1以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2.书面作业 2.1源代码阅读:多线程程序BounceThread 2.1.1BallRunnable类有什么用?为什 ...
- git cherry-pick 整理
git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作.例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并, ...
- php中(包括织梦cms)set_time_limit(0)不起作用的解决方法
背景介绍: 在做织梦冗余图片清理的功能时, 由于冗余图片太多,导致每次清理时都会超时, 后来在网上搜索了各种文章,网上有如下的解决方法: set_time_limit(0) ini_set('max_ ...
- 使用 vi 命令
一.vi是什么 vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器. Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实 ...
- hadoop2.6.0理论:hdfs、yarn、mapreduce的架构
HDFS2的架构:负责数据的分布式存储 主从结构 主节点,可以有2个: namenode 从节点,有很多个: datanode namenode负责: 接收用户操作请求,是用户操作的入口 维护文件系统 ...
- Docker学习笔记 - Docker容器之间的连接
学习目标: 容器之间可以相互连接访问:: --link redis:redisAlias 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN ...
- Docker学习笔记 - Docker容器的网络基础
一.虚拟网桥 docker0 docker0 是 linux的虚拟网桥,守护进程通过docker0给容器提供网络连接的各种服务. 网桥是数据链路层设备,通常ip地址是网络层的设置.linux的虚拟网桥 ...
- Spring Security 入门(3-11)Spring Security 的使用-自定义登录验证和回调地址
配置文件 security-ns.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...