mysq中,增删改查基本语句操作
第一次熬夜加班(凌晨还在加的那种)。。难受,今年最后一篇,明年继续,分享是美德,记录是成长
mysql是一种关系型数据库管理系统,属于我们常见的数据库之一。
在我们进行数据增删改查操作之前,我们需要登录数据库或者创建一个库和表,才能进行相应的操作
登录数据库,可通过相应的工具进行可视化连接登录,或者语句登录:
mysql -h host -P 端口 -u 数据库user -p password
这里-h后面接的数据库地址(IP),本地可忽略也可直接写本地IP,-P接的是端口,-u接的是用户名(使用者),-p接的是密码
创建数据库:
create database if not exists 库名
若是想指定中文编码后面还可接set gbk,可自行搜索一下
创建一个表:
create table if not exists 表名
(
列名称1 数据类型,
列名称2 数据类型,
...
)
eg:
CREATE TABLE ads_test2.`websites` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中,AUTO_INCREMENT记录自动生成id功能,必须有索引,一般用于主键,数值会自动加1;
不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错;
DEFAULT给该字段定义一个默认值(主要在为空需统计时用到);
COMMENT为列描述,主要给程序员展示该列的意思
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔;
ENGINE 设置存储引擎,CHARSET 设置编码。
插入语句:
INSERT INTO 表名 values(value1,value2,value3...)
eg:
INSERT INTO `websites` VALUE ('1', 'Google', 'https://www.google.cm/', '1', 'USA');
INSERT INTO `websites` VALUE ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN');
INSERT INTO `websites` VALUE ('3', '京东', 'http://www.runoob.com/', '4689', 'CN');
INSERT INTO `websites` VALUE ('4', '微博', 'http://weibo.com/', '20', 'CN');
INSERT INTO `websites` VALUE ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
也可以指定字段名:
语法:INSERT INTO 表名(字段名1,字段名2,…) VALUES(值1,值2,…)
;
举例:INSERT INTO student(id,name,grade) VALUES(1,'zhangshan',98);
语法:INSERT INTO 表名 SET 字段名1=值1[,字段名2=值2,…]
举例:INSERT INTO student SET id=4,name='zhaoliu',grade=72;
提示:如果数据是字符型,必须使用单引号或者双引号,如:"value"
删除语句:
若 delete语句中没有使用where语句,则会将表中所有记录都删除。
语法:delete from 表名
举例:删除student表中的所有记录
命令:delete from websites
;
delete from websites where id<3
;删除id小于3的数值。也可等于3,即删除这一条
删除表:truncate table websites
删除库:DROP database 库名
修改语句:
更新数据指对表中现存的数据进行修改。
语法:
UPDATE 表名 SET 字段名1=值1,
[ ,字段名2=值2,…]
[ WHERE 条件表达式 ]
UPDATE websites
SET name=‘支付宝’,Alexa=1
WHERE id=1;
若是不加where,就是全部更改
查询语句:
查询整张表结构数据:
select * from 表名 where 条件
select * from websites
查询表中某个值:
select websites from nam
or
select * from websites where name=微博
查询前4行
select * from websites limit 4
limit 3,1,表示从第三个开始,往后移一个
左连接查询:
右连接查询等等后面补
不行了,现在已经凌晨三点多了熬不住了,但是我这里还没有完,不知道啥时候可以回家睡大觉,,,啊啊啊写不下去了,头要炸了