MySQL数据库入门详细笔记

中括号[]里的内容都是可以省略的,按需要添加

数据库操作 创建数据库 语法:create database [if not exists] 数据名 charset=gbk; create database if not exists tow charset=gbk; Query OK, 1 row affected

if not exists -> 判断是否重复

charset=gbk -> 简体中文

gb2312 -> 简体中文

utf8 -> 通用字符编码

显示当前时间、用户名、数据库版本 select now(), user(), version(); +---------------------+----------------+-----------+ | now() | user() | version() | +---------------------+----------------+-----------+ | 2020-04-23 16:58:06 | root@localhost | 5.5.30 | +---------------------+----------------+-----------+ 1 row in set 查看数据库信息 语法:show create database 数据库名; mysql> show create database tow; +----------+-------------------------------------------------------------+ | Database | Create Database | +----------+-------------------------------------------------------------+ | tow | CREATE DATABASE `tow` /*!40100 DEFAULT CHARACTER SET gbk */ | +----------+-------------------------------------------------------------+ 1 row in set 修改数据库编码 语法1:alter database 数据库名 default character set gb2312; 语法2:alter database 数据库名 character set gbk;

两种方法都可以更改各类编码

例一:

alter database tow default character set gb2312; Query OK, 1 row affected

例二:

alter database tow character set gbk; Query OK, 1 row affected 查询有哪些数据库 show databases;# +--------------------+ | Database | +--------------------+ | information_schema | | frist | | mysql | | performance_schema | | tow | +--------------------+ 5 rows in set 删除数据库 语法:drop database 数据库名; drop database tow; Query OK, 0 rows affected 选择数据库 语法:use 数据库名; use frist; Database changed 表的操作 创建表 create table 表名( 字段名 字段类型 [not null] [primary key] [null] [auto_increment] [comment], 字段名 字段类型 [default] #末尾不需要加分号 )[engine=innodb];

[engine=innodb] -> 选择存储引擎;menory引擎将数据存放在内存中,重启服务后数据会丢失,但是读取速度快。

[not null] -> 不允许为空

[null] -> 允许为空

[auto_increment] -> 自动递增 例如编号,默认从1开始如果有输入就会从你输入的数开始。

[primary key] ->主键

[comment] -> 备注

[default] -> 默认值

set nams gbk;

修改表 添加字段 语法:alter table 表名 add 字段名 字段类型; alter table teacher add addr varchar(50) default\'地址不详\' comment\'地址\'; Query OK, 0 rows affected

在第一个位置上添加字段

语法:alter table 表名 add 字段名 字段类型 first; alter table teacher add number int comment\'编号\' first; Query OK, 0 rows affected

在指定的字段后添加字段

语法:alter table 表名add 字段名 字段类型 after 指定的字段名; alter table teacher add phone varchar(11) not null after name; Query OK, 0 rows affected 删除字段 语法:alter table 表名drop 字段名; alter table teacher drop number; Query OK, 0 rows affected 修改字段名和类型 语法:alter table 表名 change 原字段名 新字段名 数据类型; alter table teacher change addr dizhi char(100); Query OK, 0 rows affected alter table test change id id int auto_increment; Query OK, 3 rows affected 修改字段类型不改字段名 语法:alter table 表名 modify 字段名 字段类型; alter table teacher modify dizhi varchar(50); Query OK, 0 rows affected 修改表名 alter table 表名 rename to 新表名; alter table teacher rename to techer; Query OK, 0 rows affected 查询有哪些表 show tables; +-----------------+ | Tables_in_frist | +-----------------+ | stu | | sudent | | teacher | +-----------------+ 3 rows in set 删除表 语法:drop table [if exists]表名; drop table if exists stu; Query OK, 0 rows affected

没有stu表不加 if exists 的情况

drop table stu; 1051 - Unknown table \'stu\'

没有stu表但是加了 if exists 后

drop table if exists stu; Query OK, 0 rows affected 复制表

复制表结构和数据;不能复制表的主键,但能够复制表的数据

语法一:create table 新表名 select * from 需要复制的表名; create table 复制后存放的表名 as(select * from 需要复制的表名); #效果和上面的完全相同 mysql> create table stu1 select * from stu; Query OK, 3 rows affected Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from stu1; +----+--------+------+-------+ | id | name | addr | score | +----+--------+------+-------+ | 1 | 马云 | 杭州 | 77 | | 2 | 马化腾 | 深圳 | 66 | | 3 | 马斯特 | 美国 | 60 | +----+--------+------+-------+ 3 rows in set mysql> desc stu1; #主键不能被复制 +-------+-------------+------+-----+----------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+----------+-------+ | id | int(11) | NO | | 0 | | | name | varchar(20) | NO | | NULL | | | addr | varchar(50) | YES | | 地址不详 | | | score | int(11) | YES | | NULL | | +-------+-------------+------+-----+----------+-------+ 4 rows in set

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfsgs.html