【第四章】MySQL数据库的基本操作:数据库、表的创建插入查看
MySQL数据库基本操作
- 创建表 create table
- 查看表结构 desc table, show create table
- 表完整性约束
- 修改表 alter table
- 复制表 create table ...
- 删除表 drop table
一、创建数据库:
MySQL数据库基本操作
========================================================
1、初识SQL语言
SQL(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
DQL语句 数据库查询语言: 查询数据SELECT
2、系统数据库
information_schema: 虚拟库,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等
performance_schema: 主要存储数据库服务器的性能参数
mysql: 授权库,主要存储系统用户的权限信息
sys: 主要存储数据库服务器的性能参数
创建需要的业务主库...
3、创建业务数据库 DDL
语法
CREATE DATABASE 数据库名;
数据库命名规则:
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
查看数据库
SHOW DATABASES;
选择数据库
SELECT database(); 可查看当前所在数据库
USE 数据库名
删除数据库
DROP DATABASE 数据库名;
二、MySQL表操作
1)创建表(表的基本操作)
表school.student1
字段 字段 字段
id name sex age
1 tom male 23 记录
语法:
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
)[存储引擎 字符集];
==在同一张表中,字段名是不能相同
==宽度和约束条件可选
==字段名和类型是必须的
mysql> CREATE DATABASE school; //创建数据库school
mysql> use school;
mysql> create table student1(
-> id int,
-> name varchar(50),
-> sex enum('m','f'),
-> age int
-> );
Query OK, 0 rows affected (0.03 sec) mysql> show tables; //查看表(当前所在库)
+------------------+
| Tables_in_school |
+------------------+
| student1 |
+------------------+
1 row in set (0.00 sec) mysql> select * from student1; //查询表中所有字段的值
Empty set (0.00 sec) mysql> select name,age from student1; //查询表中指定字段的值
Empty set (0.00 sec)
2)向表中插入内容
语法:
insert into 表名(字段1,字段2...) values(字段值列表...);
顺序插入:
mysql> desc student1;
+-------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| sex | enum('m','f') | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.32 sec) mysql> insert into student1 values
-> (1,'yanglt','m',28),
-> (2,'chengdanjie','f',27)
-> (3,'ylt','m',28);
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from student1;
+------+------------+------+------+
| id | name | sex | age |
+------+------------+------+------+
| 1 | yanglt | m | 28 |
| 2 | chendanjie | f | 27 |
| 3 | ylt | m | 28 |
+------+------------+------+------+
3 rows in set (0.01 sec)
向指定字段插入
mysql> insert into student1(name,age) values
-> ('yangyang',15),
-> ('chenchen',20);
Query OK, 2 rows affected (0.42 sec)
Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from student1;
+------+------------+------+------+
| id | name | sex | age |
+------+------------+------+------+
| 1 | yanglt | m | 28 |
| 2 | chendanjie | f | 27 |
| 3 | ylt | m | 28 |
| NULL | yangyang | NULL | 15 |
| NULL | chenchen | NULL | 20 |
+------+------------+------+------+
5 rows in set (0.00 sec) mysql>
3)表操作实例:
表school.student2
字段名 数据类型
编号 id int
姓名 name varchar(50)
出生年份 born_year year
生日 birthday date
上课时间 class_time time
注册时间 reg_time datetime mysql> create table student2(
id int,
name varchar(50),
born_year year,
birthday date,
class_time time,
reg_time datetime
);
mysql> desc student2;
mysql> insert into student2 values(1,'tom',now(),now(),now(),now());
mysql> insert into student2 values(2,'jack',1999,19991120,123000,20170415162545);
表school.student3
id id int
姓名 name varchar(50)
性别 sex enum('male','female')
爱好 hobby set('music','book','game','disc') mysql> create table student3(
id int,
name varchar(50),
sex enum('male','female'),
hobby set('music','book','game','disc')
); mysql> desc student3;
mysql> show create table student3\G
mysql> insert into student3 values (1,'yang','m','book,game');
mysql> insert into student3 values (2,'alice','f','film');
mysql> select * from student3;
+------+-------+------+------------+
| id | name | sex | hobby |
+------+-------+------+------------+
| 1 | yang | m | book,music |
| 2 | alice | f | file |
+------+-------+------+------------+
2 rows in set (0.31 sec)
4)查看表结构
DESCRIBE查看表结构
DESCRIBE 表名;
DESC 表名;
SHOW CREATE TABLE查看表详细结构
SHOW CREATE TABLE 表名;
【第四章】MySQL数据库的基本操作:数据库、表的创建插入查看的更多相关文章
- 第四章 MySQL高级查询(二)
第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists ...
- Docker入门(四)——MySQL镜像中的数据库可视化
在详细介绍这篇文章的内容前,需要说明下笔者写这篇文章的意图:笔者在现有的开发中,前后端联调的方式为Docker镜像对接,数据库使用MySQL镜像,开发环境为远程服务器,因此,笔者迫切需要一种能将远 ...
- 第四章 MySQL数据类型和运算符
5.1 MySQL数据类型介绍 一.数据类型简介 (1) 数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容 (2) 不同的数据类型也决定了 My ...
- 第四章· MySQL客户端工具及SQL讲解
一.客户端命令介绍 1.mysql 1.用于数据库的连接管理 1) 连接(略) 2) 管理: #MySQL接口自带的命令 \h 或 help 或? 查看帮助 \G 格式化查看数据(key:value) ...
- MySQL数据库实验:任务二 表数据的插入、修改及删除
目录 任务二 表数据的插入.修改及删除 一.利用界面工具插入数据 二.数据更新 (一)利用MySQL命令行窗口更新数据 (二)利用Navicat for MySQL客户端工具更新数据 三.数据库的备份 ...
- MySQL 数据库怎样把一个表的数据插入到另一个表
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节 ...
- 第十四章-MySQL
1 安装 MySQL常见的版本 GA: 广泛使用的版本 RC: 最接近正式版本 Alpha和Bean: 内测版本和公测版本 有两种安装方式: 安装包和压缩包 1) 安装msi文件 2) 解压zip文件 ...
- mysql表的创建、查看、修改、删除
一.创建表 创建表前先使用use 数据库名进入某一个数据库,创建表语句的格式如下: create table 表名称 ( 列名1 列的数据类型 [约束], 列名2 列的数据类型 [约束], 列名2 列 ...
- MySQL数据表的创建、查看、插入
数据表:数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础. 1.首先我们打开一个数据库(这里我打开的是新创建的一个aaa数据库). 打开数据库:use + 数据库名; 2 ...
随机推荐
- Java Bean与Map之间相互转化的实现
目录树 概述 Apache BeanUtils将Bean转Map Apache BeanUtils将Map转Bean 理解BeanUtils将Bean转Map的实现之手写Bean转Map 概述 Apa ...
- mysql update 子查询锁表问题
mysql在Update带有子查询的时候,子查询的表会锁住,导致该表无法使用.比如 update A set comments = (select count(1) from B where id = ...
- 自己封装了的AlertController
一直觉得使用系统这个东西写起来特别麻烦,每次都要写一大推东西,还是重复的,今天抽了点时间自己重新封装了一下,解决了自己的强迫症...,不多说,直接上代码了. 1.自己定义了一个名为XBZ的UIAler ...
- iOS安装CocoaPods详细过程
iOS安装CocoaPods详细过程 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的 ...
- MySQL学习之变量
变量 MySQL本质是一种编程语言,需要很多变量来保存数据,mysql中很多的属性控制都是通过MySQL中固有的变量来实现的. 系统变量 系统内部定义的变量,系统变量针对的是所有用户(MySQL客户端 ...
- mac appstore应用下载失败,不能更新等等问题,都可以解决
打开终端,输入以下命令 open `getconf DARWIN_USER_CACHE_DIR`/com.apple.appstore 进入目录,删除 com.apple.appstore  重启系 ...
- 静态导入方法即自动拆装箱(java)
package example6;import static java.lang.System.out;import static java.util.Arrays.sort;import java. ...
- linux搭建的LNMP环境下的mysql授权远程连接
用phpstudy搭建的lnmp环境下mysql授权远程连接 简单高效 这是因为mysql 里的优先级不是所有人(提前检查防火墙是关闭状态)1.使用phpstudy安装的mysql没有放置到可以直接调 ...
- laravel4.2 union联合,join关联分组查询最新记录时,查询条件不对,解决方案
需求: 分组联合查询,或者最新记录. 问题: mysql分组的时候默认会查询第一条记录,存在gourp by时 order by 无效. 一般解决办法就是 ,select * from ( sele ...
- ElasticSearch 集群安装,简单使用
http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html https://gith ...