系统数据库

ps:系统数据库:
  mysql 授权库,主要存储系统用户的 权限信息
  test MySQL数据库系统自动创建的 测试数据库
  ination_schema
  虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等.

说得简单点,ination_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在ination_schema表里面。

命令行提示符:

help--帮助语法

如果忘记某个SQL语法,可以通过help查询,当然不只是SQL语句的语法

例如:help create database;

数据库操作

1、查看数据库

show databases; -----------查看所有的数据库

show create database db_name; ------查看库的 创建属性

select database();  --------显示当前在哪个数据库下

2、创建数据库

create database db_name;     ---------------------------创建数据库(默认utf8)
create database db_name character set=utf8; ------创建数据库(指定编码集)
create database db_name default character set=utf8
create database 数据库名 charset utf8;

数据库命名规则:

  1. 可以由字母、数字、下划线、@、#、$
  2. 区分大小写
  3. 唯一性
  4. 不能使用关键字如 create select
  5. 不能单独使用数字
  6. 最长128位

3、进入(使用)数据库

use db_name; -------------------进入db_name数据库

4、修改数据库

alter database db_name charset utf8;

5、删除数据库

drop database db_name; -------------------------删除数据库

(注意:后面的(;)号)

表操作

表:表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

s_id, s_name, s_age, s_sex, 称为字段, 一行内容称为一条记录

1、创建表

语法:

create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);

注意:
  1. 在同一张表中,字段名是不能相同
  2. 宽度和约束条件可选
  3. 字段名和类型是必须的

创建表格:

create table tb_name(
id int auto_increment primary key #列名,整型,不能为空,自动递增,唯一性,主键 (主键:不能为空,不能重复,语法上不能修改)
name varchar(10) not null comment '用户名' #列名,字符串(最大长度),不能为空 comment ‘str’ 添加字段注释
age int not null default 0 #default 0 设置列的默认值
sex enum('male','female'), #枚举,只能从后面的值中选择
)engine=InnoDB    //设置表的存储引擎,一般常用InnoDB和MyISAM;InnoDB可靠,支持事务;MyISAM高效不支持全文检索
default charset=utf8;  //设置默认的编码,防止数据库中文乱码
如果是有条件的创建数据表还可以使用 CREATE TABLE IF NOT EXISTS tb_name(........ #如果表tb_name不存在,就创建

2、查看表

查看所有表格:

show tables; ----------------查看db_name数据库中所有的表

查看一个表格所有字段属性

desc 表名; ------------------查看表所有字段属性配置

3、修改表

alter table...

语法:

1. 修改表名
alter table 表名
rename 新表名; 2. 增加字段
alter table 表名
add 字段名 数据类型 [完整性约束条件…],
add 字段名 数据类型 [完整性约束条件…]; ##在后面顺序添加字段 alter table 表名
add 字段名 数据类型 [完整性约束条件…] first; ##在最前面添加字段
 
alter table 表名
add 字段名 数据类型 [完整性约束条件…] after 字段名1; ##在字段1后面添加字段 3. 修改字段
alter table 表名
modify 字段名 数据类型 [完整性约束条件…]; (##只能改字段的属性,改不了字段名) alter table 表名
change 旧字段名 新字段名 旧数据类型 [完整性约束条件…]; (##连字段名字都能改) alter table 表名
change 旧字段名 新字段名 新数据类型 [完整性约束条件…]; 4. 删除字段
alter table 表名
drop 字段名;

外键添加和删除:

// 添加:
mysql>alter table tb_product add constraint fk_1 foreign key(factoryid) references tb_factory(factoryid);
mysql>alter table <表名> add constraint <外键名> foreign key<字段名> REFERENCES <外表表名><字段名>; // 删除:
mysql>alter table tb_people drop foreign key fk_1;
mysql>alter table <表名> drop foreign key <外键名>;

4、复制表

1)复制表结构+记录 (key不会复制: 主键、外键和索引)

mysql> create table new_table select * from service;

2)只复制表结构

▼1
mysql> select * from service where 1=2; //条件为假,查不到任何记录
Empty set (0.00 sec)
mysql> create table 新表名 select * from 表 where 1=2;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
▼2
mysql> create table 新表名 like 表名; //复制主键...

5、删除表

drop table tb_name ------------删除表

库操作&表操作的更多相关文章

  1. MySQL之库、表操作

    一.库操作 创建库 create database 库名(charset utf8 对库的编码进行设置,不写就用默认值) 库名可以由字母.数字.下划线.特殊字符,要区分大小写,唯一性,不能使用关键字, ...

  2. 第八章| 1. MySQL数据库|库操作|表操作

    1.初识数据库 我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个 专门的处理软件,这就是mysql等数据库管理软件的 ...

  3. mysql 库与表操作

    1. 库操作 1.1. 创建数据库 语法规则:create database 库名; CREATE DATABASE dt55; 在创建库时,希望指定编码语法:create database 库名 c ...

  4. MySql基础学习-库表操作

    1.创建数据 CREATE DATABASE mysql_study; 2.连接数据库 USE mysql_study 3.创建数据表 CREATE TABLE person( id int auto ...

  5. MySQL用户、库、表(单/多)操作

    用户及权限操作: 管理员登录:mysql -uroot -p 用户设置密码:set password=password(密码); 查看数据库所有用户:select * from mysql.user; ...

  6. 8.3 mysql 表操作

    库操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等    performance_sch ...

  7. MysQL使用一创建库与表

    数据库简介 人类在进化的过程中,创造了数字.文字.符号等来进行数据的记录,但是承受着认知能力和创造能力的提升,数据量越来越大,对于数据的记录和准确查找,成为了一个重大难题 计算机诞生后,数据开始在计算 ...

  8. mysql数据表操作&库操作

    首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...

  9. mysql基础之对库表操作

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

随机推荐

  1. 最新版kubernetesV1.14.1集群一键自动部署脚本

    部署命令如下:详情及注意事项请看README.md git clone https://github.com/luckman666/deploy_Kubernetes-v1.14.1.git cd d ...

  2. Android中进程与线程及如何在子线程中操作UI线程

    1. Android进程 一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程.这个线程也是你的应用与界面工具包(android.widget和android.view ...

  3. Java Web 开发中路径相关问题小结

    Java Web开发中路径问题小结 (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 Eclipse中目录结构如图2所示: 图2 那么针对这个站点的几个基本概 ...

  4. 7-Java-C(骰子游戏)

    题目描述: 我们来玩一个游戏. 同时掷出3个普通骰子(6个面上的数字分别是1~6). 如果其中一个骰子上的数字等于另外两个的和,你就赢了. 下面的程序计算出你能获胜的精确概率(以既约分数表示) pub ...

  5. docker 框架概述

    docker的框架 docker 使用传统的client-server架构模式,用户端通过docker client 与docker  daemon 建立通信,并将请求发送给后者,而docker后端时 ...

  6. 获取声音设备名称及PNPDeviceID

    实现效果: 知识运用: WMI管理类中的 ManagementObjectSearcher类 //基于指定的查询检索管理对象的集合 用于检索管理信息的较为常用的入口点之一 public Managem ...

  7. 【php】查看扩展的版本

    php --ri [扩展名称] 例如: php --ri mongodb mongodb MongoDB support => enabled MongoDB extension version ...

  8. xcode中自定义log打印

    打印内容包括 在哪个文件中 ? 在哪个方法中? 将要执行什么操作?   // 此打印实现前提: // 1.在.pch文件中实现自定义log打印方法,log名换为LCLog // 2.定义一个宏obje ...

  9. strong&weak

    copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝.拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议 ...

  10. [LOJ] 分块九题 8

    区间查询数值+整体赋值 维护tag代表整个区间被赋成了tag[i] 用pushdown操作,而不是修改了再check. 不压缩代码了,调起来心累,长点有啥不好. //Stay foolish,stay ...