Myspl库和表结构的操作

1. 数据库系统

其实我们常常说的数据库,应该叫数据库系统。

1.1 启动数据库的服务端

# MAC系统
sudo /usr/local/mysql/support-files/mysql.server start
# redhat/CentOS
/usr/local/mysql/bin/mysql -u root -p

1.2 连接数据库服务端

# 类unix操作系统下
mysql -u root -p

-u 指定用户名

-p 表示接下来要使用密码

-P 指定服务端端口

-h 指定服务端的ip

1.3 修改数据库系统管理员密码

# 方法之一(CentOS下)后面有更多方法
/usr/bin/mysqladmin -u root password '新密码'

##2. 表和库的概念

数据表:用来保存数据的表格

数据库:用来统一管理数据表的容器

3. 库的操作

3.1 查看和选择库

# 查看数据库系统中一共有多少个数据库
show databases;
# 切换/选择数据库
use 数据库名

3.2 创建一个数据库

create database 您要创建的数据库名称;
# 创建数据库并指定编码和校对集
create database `数据库名称` character set utf8 collate utf8_general_ci;
create database `数据库名称` character set utf8mb4 collate utf8mb4_general_ci;

3.3 修改已存在的数据库编码

alter database 数据库名 charset=新的编码

3.4 删除一个数据库

drop database 要删除的数据库名称;

4. 数据表结构的操作

4.1 查看某个数据库里面的数据表的列表

show tables;

4.2 创建数据表

# 基本结构
create table 表名(

	字段名1 类型(长度),
	字段名2 类型(长度),
	字段名3 类型(长度),
	……
)

比如:

# 常规的创建数据表
CREATE TABLE `x2` (
  `id` smallint(5),
  `name` varchar(4),
  `sex` tinyint(1),
  `mobile` char(11),
  `address` varchar(100),
  `add_time` datetime
)

# 创建数据表的时候指定数据表的编码
CREATE TABLE `x5` (
  `id` smallint(5) DEFAULT NULL,
  `name` varchar(4) DEFAULT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mobile` char(11) DEFAULT NULL,
  `address` varchar(100) DEFAULT NULL,
  `add_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
4.2.1 常用字段类型
字段类型 意义 表示范围
tinyint 微小整型 -128-127 ; 0-255
smallint 小整型 -32768-32767 ; 0-65535
mediumint 中等整型 -8388608-8388607 ;0-16777215
int 整型 -2147493648-2147493647;0-4294967295
bigint 大整型 -9223372036854775808-9223372036854775807;0-18446744073709551615
float 单精度浮点型
double 双精度浮点型
char 字符型
varchar 字符型
text 文本型 支持65535个字符。要求长度+2字节的存储
mediumtext 中等文本型 支持16777215个字符。需要长度+3字节的存储
longtext 长文本型 支持4294967295个字符。需要长度+4字节的存储
datetime 日期类型
timestamp 时间戳日期
4.2.2 字段约束
名称 含义 备注
not null 限制字段值不能为null
default 设置默认值
primary key 设置主键 也可以在最后使用 key(字段名)的形式设置主键
auto_increment 设置自动增长 只能设置主键字段,且类型为整数型
unsigned 设置字段为无符号类型
comment 注释、说明、备注

4.3 修改数据表的列(字段)

增加列(字段)
alter table 数据表名 add 列名以及类型、约束等信息
# 一次增加多列
alter table 数据表名 add (列名1以及类型、约束等信息,列名2以及类型、约束等信息)
修改列(字段)
# 列名必须是已经存在的
alter table 数据表名 modify 列名以及类型、约束等信息
# 旧列名必须存在,新列名可以和旧列名一样,但不能和其它列名相同
alter table 数据表名 change 旧列名称 新列名以及类型、约束等信息
删除列
alter table 数据表名称 drop 列名

4.4 修改数据表的编码

alter table 数据表名 charset=新的编码

4.5 删除数据表

drop table 表名;

4.6 查看建表语句

show create table 数据表名;
发布了22 篇原创文章 · 获赞 0 · 访问量 1149

猜你喜欢

转载自blog.csdn.net/bigpatten/article/details/103961712