系统数据库

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. 【学习笔记】深入理解js原型和闭包(4)——隐式原型

    注意:本文不是javascript基础教程,如果你没有接触过原型的基本知识,应该先去了解一下,推荐看<javascript高级程序设计(第三版)>第6章:面向对象的程序设计. 上节已经提到 ...

  2. git 初识

    现在平时用的都是SVN,感觉还是挺好用的.就是有的时候解决冲突的时候有点麻烦.但这样也是不可避免的. 今天看来下GIT,同样是版本控制,GIT的原理,和SVN还是不一样的.我个人的理解,SVN是对每个 ...

  3. function calling convention

    这是2013年写的一篇旧文,放在gegahost.net上面 http://raison.gegahost.net/?p=31 February 19, 2013 function calling c ...

  4. 自定义Jquery分页插件

    /** * 功能说明:jPager 分页插件 * 参数说明:pages:[] 分页的控件个数 @id:显示分页的div ID,@showSelectPage: 是否显示当前分页的条目过滤下拉框 * @ ...

  5. type和isinstance区别

    type只能对类型做直接的判断,主要用于获取未知变量的类型. 在程序中几乎很少用到type. 而isinstance功能比type更强,可以对子类型做出推理判断. isinstance主要用于判断A是 ...

  6. (转)Spring的概述

    http://blog.csdn.net/yerenyuan_pku/article/details/69663685 Spring的概述 什么是Spring 据度娘所载: Spring是一个开源框架 ...

  7. 在proe模型文件里面存储用户数据

    存储外部数据 author:visualsan 2014.2 上海 1.简介 利用外部数据存储外部接口,可以在模型文件里面尺寸用户自定义数据.在模型保存时数据自动存储,在模型载入时数据自动载入.外部数 ...

  8. C语言常用关键字及运算符操作---关键字

    每个知识点4问: 1. 是什么? 2. 什么时间用? 3. 怎么用? 4.为什么这么用? 1. 32个关键字 //(1)sizeof 的用法 //sizeof 是关键字,让编译器帮我们查看内存空间存储 ...

  9. Vue项目结构梳理

    Vue项目结构图: 简单介绍目录结构 build目录是一些webpack的文件,配置参数什么的,一般不用动 config是vue项目的基本配置文件 node_modules是项目中安装的依赖模块 sr ...

  10. 公共dao的抽取

    package cn.sxx.dao; import java.util.List; import cn.sxx.model.Dep; import cn.sxx.query.DepQuery; pu ...