mysql修改字段类型

MySQL表的完整性约束

廉价感情. 提交于 2019-12-04 09:27:21
MySQL表的完整性约束 一、概览 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: 约束条件 解释 NOT NULL 非空约束,指定某列不能为空; UNIQUE 唯一约束,指定某列或者几列组合不能重复 PRIMARY KEY 主键,指定该列的值可以唯一地标识该列记录 FOREIGN KEY 外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 二、NOT NULL 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 2.1 not null实例 mysql> create table t12 (id int not null); Query OK, 0 rows affected (0.02 sec) mysql> select * from t12; Empty set (0.00 sec) mysql> desc t12; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-

MySQL数据库的表和库操作

怎甘沉沦 提交于 2019-12-04 05:50:06
mac系统下mysql密码设置与破解 mysqladmin -uroot -p password "123" # 为root账户设置密码 mysqladmin -uroot -p123 password "123abc" # 修改root用户密码 忘记密码后如何强制刷新密码? 1、先停止mysql服务端 2、在终端上以超级用户的形式输入命令:mysqld_safe --skip--grant--tables 3、在开启一个终端,输入:mysql -uroot -p 登陆mysql 4、进入mysql后,修改root用户密码;输入命令:update mysql.user set password=password("123") where user="root" and host="localhost"; 5、然后在刷新,输入命令:flush privileges; 6、然后再再终端上干掉mysql服务 7、然后再正常重启mysql服务端。 权限管理 1、创建账户 创建本地账号(只能在mysql服务端的那台机子上登陆) create user 'xu'@'localhost' identified by '123abc' 创建远程账号 create user 'xu'@'192.169.0.30' identifide by '123abc' # 只能在此ip地址的机器上登陆

mysql数据库基础

孤者浪人 提交于 2019-12-04 04:57:24
mysql是目前最流行的开源关系型数据库。 特点:功能强大,跨平台,运行速度快,支持面向对象,安全性高,成本低,支持各类编程语言,数据库存储容量大,内置强大的函数。 一,连接和断开mysql数据库 mysql -u root -p 后输出密码即可连接数据库服务器 mysql提示符下输入exit 或者quit即可退出数据库 二,操作mysql数据库 1,创建数据库 create database 数据库名; 数据库被创建时会在我们数据库存储位置添加一个我们以创建的数据库为名的文件夹,里面存储者我们创建数据库的所有表,字段,内容文件。 2,选择数据库 use 数据库名; 只有选择数据库后才能操作数据库中的所有对象。 3,查看数据库。 show databases; 4,删除数据库。 drop database 数据库名; 三,mysql数据类型 mysql数据库支持数字类型,字符串型,时间和日期类型。 四,操作数据表 1,创建数据表 create table 数据库名(列名1,属性,列名2,属性) 2,查看表结构 show columns from 表名; describe 表名; 3,修改表结构 alter table 表名 属性(add(添加字段),drop(删除字段),rename(重命名),alter(修改字段名),change(修改数据类型)) 4,重命名数据表 rename

第三篇:表相关操作

戏子无情 提交于 2019-12-04 03:30:55
阅读目录 一 存储引擎介绍 二 表介绍 三 创建表 四 查看表结构 五 数据类型 六 表完整性约束 七 修改表ALTER TABLE 八 复制表 九 删除表 一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:http://www.cnblogs.com/linhaifeng/articles/7213670.html 二 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为一条记录 三 创建表 #语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); #注意: 1. 在同一张表中,字段名是不能相同 2. 宽度和约束条件可选 3. 字段名和类型是必须的 MariaDB [(none)]> create database db1 charset utf8; MariaDB [(none)]> use db1; MariaDB [db1]> create table t1( -> id int, -> name varchar(50), -> sex enum('male','female'), -> age int(3) -

MySQL数据库优化

狂风中的少年 提交于 2019-12-03 17:36:01
背景 “那啥,你过来一下!” “怎么了?我代码都单元测试了的,没出问题啊!”我一脸懵逼跑到运维大佬旁边。 “你看看!你看看!多少条报警,赶快优化一下!” 运维大佬短信列表里面好多MySQL CPU 100%报警短信。再看看项目名称不就是我前几天刚发布的项目吗!? 我心底一沉,赶快赔上笑脸。“这个一定优化,马上优化!那个,能不能看下数据库监控日志…” 运维大佬又数落了我几句,然后调开了数据库监控日志。 那家伙…每秒300多的连接数,几乎快要封顶的全表扫描数,还有大红色CPU警报。。。 “那个,能不能看看nginx访问日志…我看下访问量…”我弱弱地说到。 运维大佬不情愿的跑了下下面的语句: grep -c come access.log Shell come这个接口是其中一个请求量比较大的接口,结果是600多万。那个时候才中午,周末高峰期估计一天得有上千万吧! 我撇了撇嘴,心里想着这么高的请求量,当初那么抠门只给我一台低配数据库还好意思说,不过嘴上肯定是:“好好好,请求量不是很大,看来是数据库问题,我立刻去优化一下!” “给它弄一个读写分离不就行了吗!?”这时另外一个运维大佬凑了过来,随意地挥了挥手。。。 你问我DBA去哪儿了?DBA当时有点忙,只说让我自己检查一下。。。 优化思路 我这个项目由于上线之前比较赶,所以前期并没有管数据库设计方面的一些问题,如今随着游戏接入

SQL 创建表

坚强是说给别人听的谎言 提交于 2019-12-03 15:46:57
SQL 创建表是通过SQL CREATE TABLE 语句来实现,该语句是DDL SQL语句 。CREATE TABLE语句用于创建用于存储数据的表。在创建表时,可以为列定义主键、惟一键和外键等完整性约束。完整性约束可以在列级或表级定义。对于不同的RDBMS, CREATE语句的实现和语法是不同的。 CREATE TABLE语句语法 CREATE TABLE table_name (column_name1 datatype, column_name2 datatype,... column_nameN datatype); SQL table_name—是表的名称 column_name1, column_name2 ….-是列的名称 datatype -是列的数据类型,比如char、date、number等 例如:如果要创建employee表,语句应该是这样的: CREATE TABLE employee ( id number(5), name char(20), dept char(10), age number(2), salary number(10), location char(10)); SQL 在Oracle数据库中,整数列的数据类型表示为“number”。在Sybase中,它表示为“int”。 Oracle提供了另一种创建表的方法。 CREATE TABLE

1105 笔记

£可爱£侵袭症+ 提交于 2019-12-03 15:26:50
ROM框架 ORM对象映射关系 类名 -- 表名 对象 -- 记录 对象.属性 --- 字段 1.定义表字段的类型 2.创建元类,限制表类的创建 ''' 元类需要处理的问题: 1.一张表必须要有一个表名。 2.给数据表类,强制必须要有一个主键,主键必须是唯一的。 3.将数据表中,所有的字段对象,都存放在一个独立的字典中 存不是目的,目的是为了取值方便。 ''' 过滤Models类,models类中,什么都不做,将类原路返回。 一张表必须有表名,如果没有则将类名做表名 表名 主键名 定义一个空字典,用来存放字段对象 遍历名称空间的属性判断主键的存在与否 节省资源:mappings字典中与原名称空间中有属性重复,提出属性 3.创建用户表类,继承dict与元类,以解决表类中数据的不一致传参,和主键的限制 ''' ORM对象映射关系 类名 -- 表名 对象 -- 记录 对象.属性 --- 字段 ''' # 1.创建字段的类型 # 创建字段时,create table id int primary key default class Field: def __init__(self,name,column_type,primary_key,default): self.name = name self.column_type = column_type self.primary_key =

day36

a 夏天 提交于 2019-12-03 14:18:49
一、python操作mysql pymysql的安装 pip install pymysql sql注入问题 产生的原因 因为过于相信用户输入的内容,根本没有做任何的检验 解决的方法 sql = "select * from user where 字段1=%s and 字段2=%s" cursor.execute(sql, (值1, 值2)) 连接 连接数据库的参数 conn=pymysql.connect(host='localhost',user='root',password='123qwe',database='test',charset='utf8') cursor = conn.cursor() ### 默认返回的值是元祖类型 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) ### 返回的值是字典类型 (*********) 增 设定sql语句 sql = sql增加数据语句 设定要加入的数据 data = [(),(),()...] 执行到数据库中 cursor.executemany(sql,data) 提交 conn.commit() 查 fetchall() : 取出所有的数据 返回的是列表套字典 fetchone() : 取出一条数据 返回的是字典 fetchmany(size) :

Mysql-基本的知识点

南笙酒味 提交于 2019-12-03 11:26:46
Mysql-操作基本知识点 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 /* 数据库操作 */ ------------------ -- 查看当前数据库 SELECT DATABASE(); -- 显示当前时间、用户名、数据库版本 SELECT now(), user(), version(); -- 创建库 CREATE DATABASE[ IF NOT EXISTS] 数据库名 数据库选项 数据库选项: CHARACTER SET charset_name COLLATE collation_name -- 查看已有库 SHOW DATABASES[ LIKE 'PATTERN'] -- 查看当前库信息 SHOW CREATE DATABASE 数据库名 -- 修改库的选项信息 ALTER DATABASE 库名 选项信息 -- 删除库 DROP DATABASE[ IF EXISTS]

MYSQL的修改表结构SQL语句

我是研究僧i 提交于 2019-12-03 11:22:44
1.背景   使用sql语句对表结构进行修改 2.案例演示 案例:表结构 CREATE TABLE `login_user` ( `id` int(32) NOT NULL AUTO_INCREMENT, `name` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名字', `password` varchar(26) DEFAULT NULL COMMENT '密码3', `type` varchar(32) DEFAULT NULL, `state` varchar(32) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_time` datetime DEFAULT NULL, `password5` varchar(26) DEFAULT NULL COMMENT '密码5', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 1.修改字段:一般修改属性和数据类型 alter table login_user modify password varchar(25) DEFAULT NULL