MySQL 基础

1.安装默认端口号:3306

2. cmd里login: mysql -uroot -proot123   # -u 用户名, -p 密码, -V:输出版本信息并退出, -h 主机地址,如mysql -h127.0.0.1 -uroot -proot123

3. 安装目录结构:

  • bin目录: 存储一些可执行文件,如mysql.exe
  • include目录: 用于存储包含的一些头文件
  • lib目录:库文件
  • share目录:存储错误信息,字符集文件等
  • Data目录 :放置一些日志文件以及数据库
  • Uploads 目录:存放导入导出文件
  • my.ini文件:配置文件,两部分:client section 和server section, 包含端口号,安装目录,data目录,编码方式

4. 启动,关闭:可以在services里把服务停止,也可以用命令:net start/stop mysql57

5. 退出命令:exit 或quit   或-q

6. 常用命令:

  • 修改用户密码:mysqladmin -u用户名 -p旧密码 password,然后输入新密码
  • 显示数据库: show databases
  • 使用数据库:use < 数据库名称>
  • 显示当前连接或选择的信息
  1. select database(); #显示当前连接的数据库
  2. select version();  #显示当前服务器版本
  3. select now();   #显示当前日期时间
  4. select user();   #显示当前用户
  5. show variables like 'character%';  #显示编码格式

7. 操作数据库:

  • 创建数据库:CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;   如create database if not exists test1 character set utf8;
  • 修改数据库: alter database test2 character set latin1;
  • 删除数据库:drop database [if exists] db_name;

8. 创建数据库表:

create database book;

use book;

create table reader(

cardID char(18),

name varchar(10),

sex enum('男', '女'),

age tinyint,

phone char(11),

balance decimal(7,3)

);

show tables from book;

9. 查看数据库表:

show columns from reader; #查看reader表

desc reader; #查看reader表

show create table reader;  #显示详细的表的结构

10. 修改数据库表:

alter table reader add email varchar(30);

desc reader;

alter table reader add email varchar(30) after phone; #添加列email在phone 列后

alter table reader change email email2_bak varchar(30); #修改列名

alter table reader modify email varchar(25); #修改列的数据类型

alter table reader modify balance decimal (7, 3) after email; #修改移动列

alter table reader drop email_bak; #删除列

alter table reader rename to readerinfo; #修改表名

11. 删除数据库表:

drop table [if exists] 表1, 表2,...表n; #可以一次删除一个或多个没有被其它表关联的表

drop table if exists t3,t4;  #t3没有,t4有,执行的话有if exists会把错误信息隐藏,如果没有if exists,会提示错误t3找不到,但是t4还是会删除.

12.表分区:

show plugins; #查看数据库是否支持表分区, 找partition,如果是active,则表示支持表分区

select * from bookinfo partition(p1);  #只查看指定分区的数据

13. 约束:

  • 非空约束:
    •  

    • #删除非空约束

       

  •  主键约束:要求主键列的数据唯一,并且不允许为空, 分为单字段主键和多字段联合主键(也叫复合主键)

a. create table bookinfo (

book_id int primary key,

book_name varchar(20) not null

);

b. create table bookinfo(

book_id int,

book_name varchar(20) not null,

constraint pk_id primary key(book_id)

);

c. alter table bookinfo modify book_id int primary key; #修改主键约束

d. alter table bookinfo add primary key (book_id); #修改主键约束

e. alter table bookinfo add constraint pk_id primary key(book_id); #修改主键约束

f. alter table bookinfo drop primary key; #删除主键约束

  • 唯一约束:要求唯一,可以为空,唯一约束可以确保一列或者几列不出现重复值, 一个表中可以有多个unique声明,但只能有一个primary key。

a.  book_name varchar(20) not null unique, 方法和主键约束相同

b. alter table bookinfo drop key book_name;  #删除唯一约束

c. alter table bookinfo add unique(book_name); #添加唯一约束

  • 默认约束: 指定某列的默认值

a. alter table bookinfo modify press varchar(10) default '机械工业出版社';#添加默认约束

b. alter table bookinfo alter column press set default '机械工业出版社'; #添加默认约束

c. alter table bookinfo modify press varchar(20); #删除默认约束

d. alter table bookinfo alter column press drop default;#删除默认约束

  • 外键约束:一个表可以有一个或多个外键,可以为空值,如不为空,则一个外键必须等于别一个表的主键值相同。

a. [constraint fk_cid] foreign key (列名) references <主表名>(主键)#创建表的时候添加外键

b. alter table bookinfo add foreign key (bok_category_id) references bookcategory(category_id); #添加外键

c. alter table bookinfo drop foreign key fk_cid; #删除外键

posted on 2018-06-08 19:14  彤宝mami  阅读(149)  评论(0)    收藏  举报