标签:varchar MySql 笔记 sec mysql table NULL alter
Dos登录
mysql -h服务器地址 -u用户名 -p密码
mysql -hlocalhost -uroot -proot
数据库
1、查询所有的数据库
show databases
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
2、创建数据库("[]"代表可有可无)
create database <数据库名称> [character set 编码集]
mysql> create database personal_inf;
Query OK, 1 row affected (0.00 sec)
3、删除数据库
drop database [if exists] <数据库名>
if exists:用于防止当前数据库不存在时发生错误
4、查看当前数据库的编码
show create database <数据库名称>
mysql> show create database personal_info;
+---------------+--------------------------------------------------------------------------+
| Database | Create Database |
+---------------+--------------------------------------------------------------------------+
| personal_info | CREATE DATABASE `personal_info` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+---------------+--------------------------------------------------------------------------+
1 row in set (0.00 sec)
5、修改单个数据库的编码格式
alter database 数据库名称 character set utf8
6、修改数据名称
方法1:CSDN,数据迁移
方法2:推出mysql,然后,到这个数据存储的位置,找到文件名并修改
方法3:rename database 旧的名称 to 新的名称
(高版本及以上用不了,有丢失数据的风险,不安全)
7、使用数据库
use <数据库名称>
mysql> use personal_info
Database changed
8、查看当前使用的数据库
select database();
mysql> select database ();
+---------------+
| database () |
+---------------+
| personal_info |
+---------------+
1 row in set (0.00 sec)
数据表
字段数据类型(3类:数值、日期/时间和字符串):
1、数值类型
MySql支持所有标准的SQ数值数据类型。
关键字int是integer的同义词,关键字dec是decimal的同义词
bit数据类型保存字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表
类型 | 大小(字节) | 范围(有符号) | 范围(无符号) | 用途 |
tinyint | 1 | (-128, 127) | (0, 255) | 小整数值 |
smallint | 2 | (-32768,32767) | (0, 65535) | 大整数值 |
mediumint | 3 | (-8388608, 8388607) | (0, 16777215) | 大整数值 |
int或integer | 4 | (-2147483648, 2147483647) | (0, 4294967295) | 大整数值 |
bigint | 8 | (-9223372036854775808, 9223372036854775807) | (0,18 446 744 073 709 551 615) | 极大整数值 |
float | 4字节 | …… | …… | 单精度浮点数值 |
double | 8字节 | …… | …… | 双精度浮点数值 |
decimal | 对decimal(M,D)如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
2、日期和时间类型
表示时间值的日期和事件类型为datatime、date、timestamp、time和year
每一个时间类型有一个有效范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
timestamp类型有专有的自动更新的特性
类型 | 大小(字节) | 范围 | 格式 | 用途 |
date | 3 | 1000-01-01~ 9999-12-31 | YYYY-MM-DD | 日期值 |
time | 3 | '-838:59:59'~ '838:59:59' | HH:MM:SS | 时间值或持续的时间 |
year | 1 | 1901~2155 | YYYY | 年份值 |
datetime | 8 | 1000-01-01 00:00:00~ 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
timestamp | 4 | 1970-01-01 00:00:00~2038 结束时间是第2147483647秒,北京时间2038-1-19 11:14:07,格林威治时间2039年1月19日凌晨03:14:07 | YYYYMMDD HHMMSS | 混合时间和时间值,时间戳 |
3、字符串类型
char和varchar类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
binary和varbinary类似于char和varchar,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字节字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值
blob是一个二进制大对象,可以容纳可变数量的数据。有4种bolb类型:tinyblob、blob、medumblob和longbolb。它们区别在于可容纳存储范围不同。
有4中text类型:tinytext、text、mediumtext和longtext。对应着4中blob类型,可存储的最大长度不同,可根据实际情况选择
类型 | 大小(字节) | 用途 |
char | 0~255 | 定长字符串 |
varchar | 0~65535 | 定长字符串 |
tinyblob | 0~255 | 不超过200个字节的二进制字符串 |
tinytext | 0~255 | 短文本字符串 |
blob | 0~65535 | 二进制形式的文本字符数据 |
text | 0~65535 | 长文本数据 |
mediumblob | 0~16777215 | 二进制形式的中等长度文本数据 |
mediumtext | 0~16777215 | 中等长度文本数据 |
longblob | 0~4294967295 | 二进制形式的极大文本数据 |
longtext | 0~4294967295 | 极大文本数据 |
1、创建数据表
create table <数据表的名称> ([表定义选项]……)[表选项][分区选项]
其中[表定义选项]的格式为:
<列名1> <数据类型1> ....
mysql> create table employee(
-> _id int,
-> name varchar(20),
-> age int,
-> salary double,
-> sex varchar(5),
-> department varchar(25)
-> );
Query OK, 0 rows affected (0.04 sec)
2、查看所有数据表
show tables;
mysql> show tables;
+-------------------------+
| Tables_in_personal_info |
+-------------------------+
| employee |
+-------------------------+
1 row in set (0.00 sec)
3、查看数据表的编码(charset:字符集/编码集)
show create table <数据表名>
mysql> show create table employee;
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| employee | CREATE TABLE `employee` (
`_id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`salary` double DEFAULT NULL,
`sex` varchar(5) DEFAULT NULL,
`department` varchar(25) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
4、修改数据表的编码
alter table <数据表名> character set 编码格式
mysql> alter table employee character set gbk;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
5、查看数据表的结构【desc(description:描述,形容;类型)】
Field:字段 Null:是否可以为空 Key:约束 Defaul:默认值 Extra:扩展,备注的意思
desc <数据表的名称>
mysql> desc employee;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| _id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| salary | double | YES | | NULL | |
| sex | varchar(5) | YES | | NULL | |
| department | varchar(25) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
6、修改表的结构
- 增加列,添加一个字段
alter table <数据表名> add <字段名> <字段类型>
mysql> alter table employee add address varchar(300);
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
- 修改长度/类型/约束
alter table <数据表的名称> modify <字段名称> <新的类型>(新的长度)
mysql> alter table employee modify department varchar(200);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
----------------------------分割线----------------------------------
未完待续~~~~~
3、修改列名(修改字段的名字)
alter table <数据表名称> change <旧字段名> <新字段名> <类型>(长度);
mysql> alter table employee change name username varchar(40);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
4、删除列(字段)
alter table <数据表名称> drop <字段名称>
mysql> alter table employee drop address;
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
标签:varchar,MySql,笔记,sec,mysql,table,NULL,alter 来源: https://blog.csdn.net/weixin_50957373/article/details/120898713
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。