【第四章】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 表名;

 

posted @ 2018-05-25 16:47  旅行者-Ylt  阅读(458)  评论(0编辑  收藏  举报