您的位置:新葡亰496net > 网络数据库 > 新葡亰496netmysq数据库相关操作,Mysql数据库笔记

新葡亰496netmysq数据库相关操作,Mysql数据库笔记

发布时间:2019-11-30 06:23编辑:网络数据库浏览(155)

    (一)常用SQL语句

    启动:net start mysql
    关闭:net stop mysql

    Mysql数据库笔记,mysql数据库

    出错记录:
    1、mysql服务运行不了,进度意外终止 1067
       错误突显:can not connect to mysql server on local hosts(1061卡塔尔(قطر‎
       解除办法:原本是自家傻逼把原本的MySQL数据库给删掉了

    2、服务业已运维,但是输入密码时 进不去
    荒唐呈现:E福睿斯ROHighlander 1045 <28000>:Access denied for user'root'@'locahost'<using password:YES>
    减轻方式:

    3、

    暗中同意端口号:3306

    把mysql的bin目录加多随意况变量中就可以在随机目录下都足以张开bin目录了。

    事前见到的[email protected]这么些是因为外人改了升迁符:
    mysql>prompt [email protected] h d>
    u表示最近顾客 h表示服务器名称 d表示近些日子数据库

    MySQL语句标准:

    关键字和函数名称全部大写;
    数据库名称、表的称谓、字段的称谓全体大写;
    SQL语句必得以分好结尾。

    加中括号表示能够简轻巧单  
    来妥贴前版本;
    mysql>SELECT VERSION();
    展现当前光阴;
    mysql>SELECT NOW();
    来妥帖前客户;
    mysql>SELECT USER();

    矫正原始密码:

    开采命令提醒符分界面, 实践命令: mysqladmin -u root -p password 新密码
    施行后提醒输入旧密码完毕密码更正, 当旧密码为空时一贯按回车键确认就可以。

    开始:

    //创设数据库:
    MySQL>CREATE DATABASE (IF NOT EXISTS卡塔尔 case; //彰显已经存在的数据库;
    MySQL>SH0W DATABASES;
    //重命名数据库名称 先关闭数据库,然后找到文件夹所在目录,校勘文件夹名称。
    //展现有个别数据库;
    MySQL>SHOW CREATE DATABASE case;

    //订正数据库编码为utf8;
    MySQL>ALTER DATABASE case CHATACTER SET=utf8;

    //删除数据库:
    MySQL>DROP DATABASE case;

    修正和删除

    改正默许值: ALTE帕杰罗 TABLE TB_NAME ALTER 字段名 SET DEFAULT 默认值; ALTER TABLE TB_NAME ALTER 字段名 DROP DEFAULT ;
    校订表名
    ALTER TABLE 表名 RENAME TO 新名;
    更正字段名
    ALTE途乐 TABLE 表名 CHANGE 旧字段 新字段 新字段数据类型
    改良字段数据类型
    ALTE君越 表名 MODIFY 属性名 数据类型
    扩大字段
    ALTER TABLE 表名 ADD 字段1 字段1的条件 [FIRST | AFTER 字段2];
    去除字段
    ALTER TABLE 表名 DROP 字段;
    校正字段的排列地方:
    ALTEHaval TABLE 表名 MODIFY 字段1 字段1数据类型 FIPRADOST|AFTE中华V 字段2;
    改良表的囤积引擎:
    ALTER TABLE 表名 ENGINE=引擎名
    加上主键节制: ALTERubicon TABLE 表名 ADD PLANDIMA索罗德Y KEY (外键名卡塔尔国 删除了那个之外键节制:
    ALTE福特Explorer TABLE 表名 DROP FOREIGN KEY (外键外号卡塔尔 校正数据表的名目:
    ALTER  TABLE table_name RENAME TO new_table_name
    删去记录:
    delete from users where id=1;
    校勘记录:
    update 表名 set 字段=新值 where 条件;
    update users set id=1 whers sex=1;

    表字段的改换:
    日增字段
    ALTER table tb_name ADD column_name 属性 地方;           //扩展二个字段,默以为空
    alter table user add COLUMN new2 VARCHA陆风X8(20卡塔尔(قطر‎ NOT NULL;  //增添八个字段,暗许不能够为空
    除去字段
    alter table user DROP COLUMN new2;                //删除三个字段

    alter table user DROP column1,column2;                        //删除多列

    改善二个字段
    alter table user MODIFY new1 VARCHA奥迪Q7(10卡塔尔国;            //改善一个字段的品类
    alter table user CHANGE new1 new4 int;              //改革一个字段的名号,那个时候早晚要双重钦赐该字段的品种

    第二章: 1、数据类型: 整型:
    TINYINT -2^7->2^7-1
    SMALLINT -2^15->2^15-1
    MEDIUMINT -2^23->2^23-1
    INT -2^31->2^31-1
    BIGINT -2^63->2^63-1

    浮点型:
    FLOAT[(M,D)] m代表总位数,d代表小数点后位数
    DOUBLE[(M,D)]

    岁月日期型:(明白卡塔尔(قطر‎
    YEAR 1个字节
    TIME 3
    DATE 3
    DATETIME 8
    TIMESTAMP 4

    字符型:
    CHAR(M) 0<=M<=255
    VARCHAR(M)
    TINYTEXT
    TEXT
    MEDIUMTEXT
    LONGTEXT
    ENUM('value1,'value2'...)
    SET('value1','value2',,,)

    2、数据表的操作
    张开数据库:
    USE test(数据库名称)  
    创造数据表:
    CREATE TABLE (IF NOT EXISTS) table_name<数据表名字>(column_name<依据项目大小显著的列名>data_type<数据类型>,..卡塔尔国

    mysql>USE TEST;
    >CREATE TABLE tb1(
    >username VARCHAR(20),
    >age TINYINT UNSIGNED,<unsigned意思是毫无负数>
    >salary FLOAT(8,2卡塔尔(英语:State of Qatar) UNSIGNED <float(8,2卡塔尔的意趣是一同有8位数,当中型Mini数点后有2位卡塔尔(قطر‎>
    >);

    查阅数据表列表
    SHOW TABLES FROM test;

    翻开数据表布局
    SHOW COLUMNS FROM TB1;

    安顿记录INSERT
    INSERT [INTO] tb1_name [(col_name,,,)] VALUES(val,,,)
    INSERT TB1 (username ,salary) VALUES ('tom',26,919.3);
    插入的也能够是算式比如:33-2 依然函数式:MD5('342'卡塔尔(英语:State of Qatar)
    也得以叁次插入多条记下,记录间用,分开就能够。

    笔录查找SELECT
    SELECT * FROM TB1_NAME

    3、空值与非空

    NULL 字段值可以为空  NOT NULL 字段禁止为空

    成立表,设定有些量空与非空
    >CREATE TABLE TB2(
    >username VARCHAR(20) NOT NULL,
    >age TINYINT UNSIGNED NULL,
    >);

    >INSERT TB2 VALUES(NULL,20);
    <将报错说username不可为空>

    4、自动编号(AUTO_INCREMENT)不能用char类型

    电动编号,且需与主键组合使用
    私下认可情状下,开始值为1,每便的增量为1;

    5、主键约束(P奥迪Q3IMACR-VY KEY卡塔尔

    每张数据表只存在二个主键
    主键保障记录的唯豆蔻梢头性
    新葡亰496netmysq数据库相关操作,Mysql数据库笔记。主键自动为not null

    多少个字段联合主键:
    PRIMARY KEY(username,age);

    >CREATE TABLE TB2(
    >id SMALLINT UNSIGNED  PRIMARY KEY AUTO_INCREMENT,

    AUTO_INCREMENT(自动依次增加卡塔尔(英语:State of Qatar)必需和P君越IMA汉兰达Y K福特ExplorerY一齐使用,而P哈弗IMALacrosseY KEY则不自然要和AUTO_INCREMENT一同行使

    >username VARCHAR(20) NOT NULL,
    >);

    >SHOW COLUMNS FROM TB3;

    6、唯意气风发约束(UNIQUE KEY卡塔尔(英语:State of Qatar)

    唯蓬蓬勃勃约束
    唯后生可畏约束能够确定保障记录的唯风度翩翩性
    唯大器晚成节制的字段可感到NULL
    每张数据表能够存在多个唯后生可畏节制
    与主键的分裂:一张数据表只可以有三个主键,而UNIQUE KEY能够有三个能够NULL
    >CREATE TABLE TB4(
    >id SMALLINT UNSIGNED AUTO_INCREMENT PCR-VIMA科雷傲Y KEY,<自动编号字段>
    >username VARCHAR(20) NOT NULL UNIQUE KEY,
    >age TINYINT UNSIGNED
    >);

    插入记录:INSERT TB4(username,age卡塔尔 VALUES('TOM',23卡塔尔(قطر‎;
    当再次写入相仿的笔录时,将唤起错误,因为username用了unique节制。显而易见那个节制在数据表里能够有四个。

    7、默许限定(DEFAULT卡塔尔(英语:State of Qatar)

    默认值
    当插入记录时,若无生硬为字段赋值,则自动付与暗中同意值。
    >CREATE TABLE TB5(
    >id SAMLLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    >username VARCHAR(20) NOT NULL UNIQUE KEY,
    >sex ENUM('1','2','3') DEFAULT '3'
    >);

    新葡亰496netmysq数据库相关操作,Mysql数据库笔记。验证:
    INSERT TB5(username)VALUES('TOM');
    将开掘自动给sex赋值3了。

    8、外键节制

    要求:
    表与表之间的链接
    父表和子表必得使用同意气风发的存放引擎(InnoDB卡塔尔国,而禁绝选择有时表:
    外键列和参照列必须持有相识的数据类型。当中数字的尺寸或是不是有号子位必需生龙活虎致;而字符     的长短则足以不相同
    外键列和参照列必需成立索引。要是外键列不设有索引的话,MySQL将机关创造索引。

    CREATE TABLE provinces(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    pname VARCHAR(20) NOT NULL
    );
    查看数据表的引擎:show create table provinces;
    CREATE TABLE users(
    id SMALLINT UNSIGNED PRIMARU KEY AUTO_INCREMENT,
    username VARCHAR(10) NOT NULL,
    //增添省份的话可以不用增多字段,只要加多关系表省份的号子就能够
    pid SMALLINT UNSIGNED, 
    FOREIGN KEY(pid)REFERENCES provinces(id)
    );

    查看索引:SHOW INDEXES FROM provincesG;
    SHOW INDEXES FROM usersG;

    外键节制的参数:

    CASCADE:从父表删除或更新且自动删除或更新字表中非常的行
    SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL,如若使用该选项,必需有限支撑子表列未有一点点名NOT NULL
    TESTHighlanderICT(限制、限定卡塔尔(قطر‎:谢相对父表的去除或更新操作
    NO ACTION:规范的SQL的要紧字,在MySQL中REST大切诺基ICT相符。

    为电动编号的字段赋值

    可以书写成default 可能null
    创建表:
    CREATE TABLE users(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(20) NOT NULL,
    password VARCHAR(32) NOT NULL DEFAULT 123,
    age TINYINT UNSIGNED NOT NULL,
    sex BOOLEAN
    );
    安顿记录:
    INSERT users VALUES(NULL,'Jack',159357,20,1);

    9、

    新葡亰496net 1

    新葡亰496net 2

    出错记录: 1、mysql服务运转不了,进程意外终止1067 错误呈现:cannotconnecttomysqlserveronlocalhosts(1061卡塔尔国清除措施:...

    1.0 创设数据表

    • 开垦数据库 USE db_name;

    • 查阅当前选拔的数据库 SELECT DATABASE(卡塔尔(قطر‎;

    • 创立数据表
      CREATE TABLE [IF NOT EXISTS] table_name (
      column_name data_type [UNSIGNED] [NOT NULL | NULL],
      ......
      )
      例如:(salary FLOAT(M,D) UNSIGNED,
      M是数字总位数,D是小数点前面包车型客车位数,UNSIGNED 表示无符号值。)
      mysql> CREATE TABLE t_student (
      -> username VARCHAR(20),
      -> age TINYINT UNSIGNED,
      -> salary FLOAT(8,2) UNSIGNED
      -> );

    • 查阅数据表列表
      SHOW TABLES [FROM db_name]

    • 翻开数据表布局
      SHOW COLUMNS FROM tbl_name

    • 插入记录
      INSERT [INTO] tbl_name [(col_name, ...)] VALUES(val, ...)

    • 笔录查找
      SELECT expr,... FROM tbl_name

    • 自行编号 AUTO_INCREMENT,与主键组合使用,暗许初步值为1,每一遍增量为1.
      主键限定 P奥德赛IMAGL450Y KEY,每张表唯有一个主键而且为 NOT NULL.
      mysql> CREATE TABLE tb3(
      -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      -> username VARCHAR(30) NOT NULL
      -> );

    • 唯生机勃勃限定 UNIQUE KEY
      唯大器晚成限定能够保险记录的唯大器晚成性
      唯意气风发限制的字段可感到空值
      每张数据表可以存在七个唯风流罗曼蒂克节制
      mysql> CREATE TABLE tb5(
      -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      -> username VARCHAR(30) NOT NULL UNIQUE KEY,
      -> age TINYINT UNSIGNED
      -> );

    • 默认值 DEFAULT
      当插入记录时,若无明了为字段赋值,则自动授予暗中同意值。
      mysql> CREATE TABLE tb6 (
      -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      -> username VARCHAR(20) NOT NULL UNIQUE KEY,
      -> sex ENUM('1','2','3') DEFAULT '3'
      -> );

    1.SELECT USE兰德酷路泽(卡塔尔(قطر‎  获得登录的客户

    -D,--database=name 张开钦赐的数据库
    --deliiter = name 钦点分隔符
    -h,--host=name 服务器名称
    -p,--password[=name]密码
    -p,--port=# 端口号
    --prompt=name 设置提示符
    -u,--user=name 用户名
    -V ,--version 输出版本音讯并脱离

    2.SELECT VELacrosseSION(卡塔尔(قطر‎  得到mysql的版本消息

    修改mysql提示符D,d,h, u
    1.由此连接顾客端时由此参数钦点
    shell>mysql -uroot -proot --prompt 提示符
    2.接二连三上客商端后,通过prompt命令改良
    mysql>prompt 提示符

    3.SELECT NOW(卡塔尔国  获得当前的时刻

    创立数据库
    CREATE {DATABASE | SCHEMA} [IF NOT EXTSTS] db_name
    [DEFAULT] CHARCTER SET [=] charset_name
    {}必选 []可选
    朝看日前劳动下的多寡表列表
    SHOW {DATABASES | SCHEMAS}
    [LIKE 'pattern' | WHERE expr]

    4.SELECT DATABASE(卡塔尔国  得到展开的数据库名字

    制造数据库
    CREATE [DATABASE | SCHEMA] [IF NOT EXISTS] db_name
    CREATE DATABASE IF NOT EXISTS t1; 忽视警示
    SHOW WALANDNINGS; //查看警示
    SHOW CREATE DATABASE t1; //创制数据库时的授命是有个别
    CREATE DATABASE IF NOT EXISTS db_name CHARACTEOdyssey SET gbk;//创造数量为gbk的编码形式
    改革数据库:
    ALTER{DATABASE | SCHEMA} [db_name][DEFAULT] CHARACTER SET [=] charset_name

    (二)数据库相关操作

    ALETER DATABASE db_name CHARCTE索罗德 SET = utf8; //改进数据库的编码情势;

    1.创制数据库(名称不要满含特殊字符或许是MySQL关键字卡塔尔国

    剔除数据库:
    DROP {DATABASE | SCHEMA} [IF NOT EXISTS] db_name;

    (1)CREATE {DATABASE|SCHEMA} db_name;

    数据类型:数据类型是指列、积攒进程参数、表明式和部分变量的数目特征、它决定了数码的储存格式、代表了差异消息项目。
    整形:TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT
    浮点型:FLOAT/DOUBLE
    日龙时间项目:YEA汉兰达/TIME/DATE/DATETIME/TIMESTAMP
    字符型:CHAR(M)/VARCHAR(M)/TINYTEXXT/TEXT/MEDIUMTEXT/LONGTEXT/ENUM('value1','value2'..)/SET('value1','value2'..)

    如:CREATE DATABASE dou

    开创数据表:数据表是数据库个中最要紧的组成都部队分之意气风发,是任何对象的功底。
    a、创设数据表在此以前选取在哪二个数据库操作
    USE test;

    (2)CREATE {DATABASE|SCHEMA} db_name [IF NOT EXISTS ] db_name   检查实验数据库名称是还是不是存在,不设有则创制

    b、查询该数据库是不是被张开
    SELECT DATABASE();

    如:CREATE DATABASE IF NOT EXISTS dou;

    c、成立数据表
    CREATE TABLE tb1(
    username CHAR(20),
    age TINYINT UNSIGNED, UNSIGED是指不可能有负数
    salary FLOAT(8,2) UNSIGNED
    );

    (3)CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset;  在创立数据库的同一时候钦点编码情势

    d、查看数据表
    SHOW TABLES;

    如:CREATE DATABASE IF NOT EXISTS dou DEFAULT CHARACTER SET 'GBK';

    e.查看数据表布局:其实是列的性质
    SHOW COLUMNS from tb2;

     2.翻看当前服务器下全方位数据库

    f.向表中插入数据
    INSERT tb1 VALUES ('汤姆',20,4321.32卡塔尔国;如果未有钦定列,则整个字段都必得赋值,不然用报错
    INSERT tb1(username,salary) VALUES ('Jenny',2999.29);

    SHOW DATABASES|SCHEMAS;(注意s)

    g、查询表中的数据
    SELECT * from tb1;

    3.查看钦点数据库的详细音讯

    h、非空验证:null / not null
    在开立表时,如若前面未有加NULL/NOT NULL,字段默感觉空;倘若加了NOT NULL,表示字段不能够为空。况兼只要为not null,又从不录入数据来讲,就能够不可能开展编写翻译
    CREATE TABLE tb3(
    username CHAENCORE(20卡塔尔 NOT NULL, 若插入数据时未有给username赋值,则报错,因为早已设置不能够为空
    age TINYINT UNSIGNED NULL
    );

    SHOW CREATE DATABASE dou;

    i. 自动编号:auto_increment
    总得与主键primary key组合使用,默许起首值为1,每一遍的增量为1;
    create table tb3(
    id smallint unsigned auto_increment primary key,
    username varchar(20)
    );

    4.更正钦点数据库的编码方式

    j.主键约束:PRAV4IMA传祺Y KEY
    主键保障记录的唯后生可畏性,每张数据表只可以存在二个主键,主键自动被NOT NULL
    瞩目:设置了主键现在,该字段不能够为空,且不可能重复

    ALTER DATABASE dou DEFAULT CHARACTER SET 'UTF8';

    k.唯风华正茂限定:UNIQUE KEY
    主键约束一张表只好有二个,可是唯意气风发限定一张表能够有三个,且唯后生可畏约束可感到空值
    l.默认值:DEFAULT
    当插入记录的时候,若无显著性为字段赋值,则自动付与默许值
    sex ENUM('1','2','3') DEFAULT '3'

    5.开垦钦赐数据库

    ALTER [IGNORE] TABLE tbl_name
    ADD [COLUMN] column_definition [FIRST | AFTER col_name ]//加多单个字段
    | ADD [COLUMN] (column_definition,...卡塔尔国//增添七个字段
    | ADD INDEX [index_name] [index_type] (index_col_name,...卡塔尔//增多索引
    | ADD [CONSTRAINT [symbol]]
    PRIMARY KEY [index_type] (index_col_name,...卡塔尔//加多主键
    | ADD [CONSTRAINT [symbol]]
    UNIQUE [index_name] [index_type] (index_col_name,...卡塔尔(قطر‎//增添唯一索引
    | ADD [CONSTRAINT [symbol]]
    FOREIGN KEY [index_name] (index_col_name,...)
    [reference_definition]//增添外键
    | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}//增加删除default约束
    | CHANGE [COLUMN] old_col_name column_definition
    [FIRST|AFTER col_name]//改过字段名等
    | MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]//更正除字段名外的
    | DROP [COLUMN] col_name//删除字段
    | DROP PHavalIMA瑞鹰Y KEY//删除主键
    | DROP INDEX index_name//删除索引
    | DROP FOREIGN KEY fk_symbol//删除却键
    | [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]//改过字符集

    USE dou

    外键限定的参阅操作 删除知足条件的笔录:DELETE FROM 表名 WHERE 条件;
    除去全体记录:DELETE FROM 表名。
    外键操作定义:FOREIGN KEY(外键名卡塔尔国 REFERENCES 附表名(参照列卡塔尔 ON DELETE CASCADE
    轮廓外键节制只适用于InnoDB数据库,实际项目支付中运用逻辑外键

    6.到手当前开荒的数据库

    表级约束与列级限制
    (1)对一个数据列建设布局的牢笼,称为列级限制
    (2)对七个数据列创设的限定,称为表级限制
    (3)列级节制不只能够在列定义时宣称,也得以在列定现在声明
    (4)表级约束只好在列定义后宣称
    2.主键、外键、非空、唯风流倜傥、check,default都以封锁原则。主键、外键、唯风姿罗曼蒂克不仅能作为表级节制,也可作为列级约束
    而非空not null,默许default唯有列级约束

    SELECT DATABASE(卡塔尔(قطر‎|SCHEMA(卡塔尔(قطر‎;(注意小括号卡塔尔(قطر‎

    矫正数据表
    累积主键限制:
    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY index_type
    拉长外键限制:
    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY index_name reference_definition
    加上唯生龙活虎限制:
    ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
    增添/删除私下认可限制:
    ALTER TABLE tbl_name ALTER[COLUMN] col_name{SET DEFAULT literal|DROP DEFAULT}

    7.剔除内定数据库

    除去主键限制
    ALTER TABLE tbl_name DROP PRIMARY KEY;
    删去唯后生可畏约束
    ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;
    eg:
    新葡亰496net,ALTER TABLE tbl_name DROP INDEX user; 删除user字段的唯豆蔻梢头节制
    删去外键节制
    ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;删除时肯定要加上国戏剧大学键限制的称谓能够用SHOW CREATE TABLE tbl_name查看

    DROP DATABASE dou;

    修正列定义
    ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]
    eg:
    ALTER TABLE tbl_name MODIFY id TINYINT NOT NULL FI大切诺基ST;将id字段改为首字段

    DROP DATABASE IF EXIST dou;如若存在则删除

    改正列名称
    ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|ALTER col_name]即能够改列名称也得以改列定义
    eg:
    ALTER TABLE user CHANGE pid p_id TINYINT UNSIGNED NOT NULL; 将pid字段名称改动为p_id,并将其品种更改为TINYINT

    (三)数据表相关操作

    数据表更名
    方法一:
    ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
    eg:
    ALTE奔驰M级 TABLE users2 RENAME users3;将数据表名称改变为user3
    方法二
    RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2] ....可以为多张数据表实行更名
    eg:
    RENAME TABLE users2 TO users3;

    1.创建表

    尽量少实行数据表更名或然数据列的更名

    CREATE TABLE [IF NOT EXISTS] tbl_name(
    字段名称 字段类型 [完整性限定原则],
    字段名称 字段类型 [完整性约束标准],
    ...
    卡塔尔(英语:State of Qatar)ENGINE=存款和储蓄引擎 CHA翼虎SET=编码情势;

    如:

    CREATE TABLE IF NOT EXISTS dou(
    id INT PRIMARY KEY,
    username VARCHAR(20),
    password CHAR(32),
    email VARCHAR(50),
    age TINYINT,
    card CHAR(18),
    tel CHAR(11),
    salary FLOAT(8,2),
    married TINYINT(1),
    addr VARCHAR(100),
    sex ENUM('男','女','保密')
    )ENGINE=INNODB CHARSET=UTF8;

    完整性节制:

    ①UNSIGNED 无符号,未有负数,从0开端

    ②NOT NULL 非空约束,值无法为NULL,能够不填,不填即为空白

    ③DEFAULT 暗中认可值 固然插入的时候从不给字段赋值则应用私下认可值

      如:age TINYINT UNSIGNED DEFAULT 18

    ④PCR-VIMA瑞虎Y KEY 主键,值无法再一次,二个表只可以有一个主键,字段无法为空;

    可是叁个表里能够有复合主键

    如:

    -- 复合主键
    CREATE TABLE test_primary_key(
    id INT UNSIGNED,
    courseId VARCHAR(20),
    username VARCHAR(20),
    email VARCHAR(50),
    PRIMARY KEY(id,courseId)
    );

    那会儿唯有当id和courseid同一时间和后边的相同期,才会出错,要是只有一个双重也是能够平常增进的

    ⑤AUTO_INCREMENT 自动增进,只能用于数值列,並且极度索引使用,默许早先值为1,每回拉长1

    如:

    CREATE TABLE test_auto_increment(
    id INT UNSIGNED KEY AUTO_INCREMENT,
    username VARCHAR(20)
    );

    INSERT test_auto_increment(username) VALUES('A');
    INSERT test_auto_increment(username) VALUES('B');

    INSERT test_auto_increment(id,username) VALUES(NULL,'E');
    INSERT test_auto_increment(id,username) VALUES(DEFAULT,'F');
    INSERT test_auto_increment(id,username) VALUES(15,'G');

    INSERT test_auto_increment(username) VALUES('C');

    此刻最终一回的id为16

    ⑥UNIQUE KEY 唯风度翩翩性,相符的值不可能重新,不过NUL除此之外

    ⑦ZEROFILL 零填充,当数码的显得长度非常不足的时候能够行使前补0的功能填充至内定长度,字段会自动增加UNSIGNED

    如:

    CREATE TABLE zero(
    id INT(4) ZEROFILL
    );

    INSERT zero VALUES(1);

    机关前边补零即 0001

    ⑧FOREIGN KEY 外键限制

    2.翻看当前数据库下原来就有数据表

    SHOW TABLES;

    3.翻看钦定数据表的详细音讯

    SHOW CREATE TABLE test_auto_increment

    4.查看表布局

    DESC|DESCRIBE test_auto_increment

    SHOW COLUMNS FROM test_auto_increment

    5.删减钦点数据表

    DROP TABLE [IF EXISTS] test_auto_increment

    (四)表构造有关操作

    ①增添字段

    ALTER TABLE tbl_name
    ADD 字段名称 字段属性 [完整性节制原则] [FI奥迪Q7ST|AFTELAND 字段名称]

    如:

    -- 加多邮箱字段 email VARCHA昂Cora(50卡塔尔 NOT NULL UNIQUE ,并将email增添到username前面
    ALTER TABLE user1
    ADD email VARCHAR(50) NOT NULL UNIQUE AFTER username;

    ②删除字段

    -- 删除test字段
    ALTER TABLE user1
    DROP username;

    ③更改字段类型、字段属性

    ALTER TABLE tbl_name
    MODIFY 字段名称 字段类型 [字段属性] [FIENCOREST | AFTE宝马7系 字段名称]

    如:

    - 将email字段改为VARCHAMurano(50卡塔尔(英语:State of Qatar) NOT NULL FI帕杰罗ST

    ALTER TABLE user1
    MODIFY email VARCHAR(50) NOT NULL FIRST;

    ④纠正字段名称、字段类型、字段属性

    ALTER TABLE tbl_name
    CHANGE 原字段名称 新字段名称 字段类型 字段属性 [FIPRADOST | AFTE传祺字段名称]

    如:

    -- 将password 名称改为pwd
    ALTER TABLE user1
    CHANGE password pwd CHAR(40) NOT NULL;

    ⑤增添主键

    ALTER TABLE tbl_name
    ADD PEscortIMALacrosseY KEY(字段名称卡塔尔(قطر‎

    ⑥增加唯后生可畏

    ALTER TABLE tbl_name
    ADD UNIQUE KEY(字段名称卡塔尔国

    ⑦去除唯大器晚成

    ALTER TABLE tbl_name
    DROP (字段名称卡塔尔(英语:State of Qatar)

    ⑧矫正数据表名称

    ALTER TABLE tbl_name

    RENAME new_tbl_name

    依旧直接 RENAME TABLE tbl_name TO new_tbl_name

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496netmysq数据库相关操作,Mysql数据库笔记

    关键词:

上一篇:没有了

下一篇:没有了