温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql入门基本语句介绍

发布时间:2020-05-13 10:16:04 来源:亿速云 阅读:248 作者:三月 栏目:系统运维

文主要给大家介绍mysql入门基本语句,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql入门基本语句吧。

MYSQL入门基本语句
登录链接MYSQL
mysql -u(用户名) -p(密码) -h(主机名)
DDL语句  数据库定义语言     数据库,表,视图,索引,存储过程,例如CREATE DROP ALTER
create database 数据库名;   #创建数据库,大写也是可以
show databases;         #查看数据库
select database();       #显示当前所在库
use 数据库名;         #具体使用哪一个数据库
drop databas 数据库名;     #删除数据库
help drop    查看命令帮
数值类型:
   整数类型        TINYINT SMALLTNT MEDIUMINT INT BIGINT
   浮点数类型    FLOAT DOUBLE
   定点数类型    DEC
   位类型        BIT
字符串类型:
   CHAR系列        CHAR VARCHAR
   TEXT系列        TINYTEXT TEXT MEDIUMTEXT LONGTEXT
   BLOB系列        TINYBLOB BLOB MEDIUMBLOB LONGBLOB
   BINARY系列    BINARY VARBINARY
   枚举类型:        ENUM
   集合类型        SET
时间和日期类型: DATE TIME  DATETIME TIMESTAMP  YEA
PRIMARY KEY (PK)    #主键
FOREIGN KEY (FK) #外键
NOT NULL      #标识该字段不能为空
UNIQUE KEY (UK)   #标识该字段是唯一的,可以为空,一个表中可以多个UNIQUE KEY
AUTO_INCREMENT      #标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT             #为该字段设置默认值
UNSIGNED     #无符号,正数
ZEROFILL         #使用0填充,例如00000001
mysql入门基本语句介绍
desc table,show create table; #查看
create table 表名(
  字段名1 类型 ((宽度)约束条件),
  字段名2 类型 ((宽度)约束条件),
  字段名3 类型 ((宽度)约束条件),
); #创建一个
default '值' #默认值
not null   #不为空
enum('m','f') #枚举类型
age int unsigned #不含符号的整型
set('disc','boos','music') #设置一个合集的值
primary key auto_increment; #主键为自增
primary key(ip,service); #定义一个复合主键
primary key(name); #定义一个外
insert into 表名 values(3,'alice','f',18);  插入数值,可以是多
增加字段
ALTER TABLE 表名 #增加字段
       ADD 字段名 数据类型[完整性约束条件...];
ALTER TABLE 表名
       ADD 字段名 数据类型[完整性约束条件...] FIRST;
ALTER TABLE 表名
       ADD 字段名 数据类型[完整性约束条件...] AFTER 字段名;
删除字段
   ALTER TABLE 表名 DROP 字段名
修改字段
   ALTER TABLE 表名
       MODIFY 字段名 数据类型 [完整性约束条件....];
   ALTER TABLE 表名
       CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件...];
   ALTER TABLE 表名
       CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件...];
删除主键
先删除自增属性,再删除主键属性,不然会报错
MySQL [school]> alter table t1 modify id int not null;    先删除自增属性
MySQL [school]> alter table t1 drop primary key;            在删除主键属性
alter table t1 drop 姓名
复制表
复制结构+记录(key不会复制:主键,外键和索引)
create table t1_new select * from t1;         创建一个新表复制原有表的结构跟数据
create table t1_new3 select * from t1 where 1=5;     复制表结构,不带数据
MySQL [school]> create table t4 like t1;        #复制表结构,包括ke
删除表 DROP TABLE 表名;        #删除表名
drop table 表名;

       ####查出完整数据###
insert into 表名 values (值1,值2,值3...
###指定字段插入数据###
insert into  表名(字段2,字段3...) values (值2,值3...
###插入多条记录###
insert int 表名 values
(值1,值2,值3...),
(值1,值2,值3...),
(值1,值2,值3...)
###插入查询结果###
insert into 表1(字段1,字段2,...)
select(字段1,字段2) from 表2
where ...
###更新数据UPDATE###
update 表名 set
字段1 = 值1,
字段2 = 值2,
where ...
###删除数据DELETE###
delete from 表名
where ...; #一定要加条件不然全部删除

       MYSQL事务的处
begin
start transaction;               #手动开启事
insert into t_user(name) values('pp');
commit ;                            #commit之后即可改变底层数据库数据
roollback                            #回滚
commit;                                #提交事
1. 事物A和事物B之间具有一定的隔离性
2. 隔离性有隔离级别(4个)
• 读未提交:read uncommitted
• 读已提交:read committed
• 可重复读:repeatable read
• 串行化:serializabl
默认自动提交事务
set autocommit=0    禁止自动提交
set autocommit=1    开启自动提交

       ####设置外键约束 FOREIGN key
父表 company.demofu
mysql> create employees(
   -> name varchar(50) not null,
   -> mail varchar(20),
   -> primary key(name))
子表company.payroll
mysql> create table demozi(
id int auto_increment,
name varchar(50) not null,
payroll float(8,2) not null,
primary key(id),
foreign key(name) references demofu(name) on update
cascade on delete cascade);   #设置外键同步附表的name字
插入数值
mysql> insert into demofu values
   -> ('圆圆','yuanyuan@163.com'),
   -> ('大大','dada@126.com')
mysql> insert into demozi(name,payroll) values ('赵赵',1000);
错误1452(23000):无法添加或更新子行:外键约束失败(“student”,“demozi”,constraint“demozi_ibfk_1”
外键(“name”)在更新级联的DELETE CASCADE上引用“demofu”(“name”)
解释:
设置外键后,子表会同步外表里面的字段数据,如果附表没有该数据,则
无法添
mysql> update demofu set name='亚庆' where name='圆圆';
mysql> select * from demozi;
+----+--------+---------+
| id | name   | payroll | #得出结论,子表的外键与附表的字段
+----+--------+---------+ 保持一致
|  1 | 亚庆   | 8000.00 |
+----+--------+---------
mysql> delete from demofu where name='亚庆';  #父表数据删除子表也会删
mysql> select * from demozi;
Empty set (0.00 sec)

看完以上关于mysql入门基本语句,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI