时间:2021-07-01 10:21:17 帮助过:10人阅读
SELECT column_1, column_2, ... FROM table_1 [INNER | LEFT |RIGHT] JOIN table_2 ON conditions WHERE conditions GROUP BY column_1 HAVING group_conditions ORDER BY column_1 LIMIT offset, length;SELECT语句由以下列表中所述的几个子句组成:
SELECT lastname,firstname,jobtitle FROM employees;
SELECT * FROM employees;二、WHERE 语句 WHERE子句允许根据指定的过滤表达式或条件来指定要选择的行。 栗子: 获取雇员中的销售代表;
SELECT lastname,firstname,jobtitle FROM employees WHERE jobtitle = ‘Sales Rep‘;MySQL 会优先使用 where 进行匹配,在到 select 匹配。 获取雇员中的销售代表,且办公室代码=1;
SELECT lastname,firstname,jobtitle FROM employees WHERE jobtitle=‘Sales Rep‘ AND officeCode = 1;操作符: = 等于,几乎任何数据类型都可用 <> 或 != 不等于 < 小于,通常使用数字和日志/时间数据类型 > 大于,通常使用数字和日志/时间数据类型 <= 大于或等于 >= 大于或等于 还有一些有用的运算符可以在WHERE子句中使用来形成复杂的条件,例如:
INSERT INTO tasks(subject,start_date,end_date,description) VALUES(‘Learn MySQL INSERT‘,‘2017-11-27‘,‘2017-11-27‘,‘start learning..‘);将tasks表的所有数据复制插入到tasks_bak表
INSERT INTO tasks_bak SELECT * FROM tasks;四、 UPDATE 语句 UPDATE语句来更新表中的现有数据。也可以使用UPDATE语句来更改表中单个行,一组行或所有行的列值。 栗子: 更新 Mary 的邮箱。
UPDATE employees SET email=‘mary.new@yiibai.com‘ WHERE employeeNumber = 1056;更新多行数据:
UPDATE employees SET email=‘mary@yiibai.com‘,lastname=‘Hill‘ WHERE employeeNumber = 1056;从另一表选择数据插入当前表
UPDATE customers SET salesRepEmployeeNumber = (SELECT employeeNumber FROM employees WHERE jobtitle=‘Sales Rep‘ ORDER BY RAND() LIMIT 1) WHERE salesRepEmployeeNumber IS NULL;注释: 从employees表随机抽取jobtitle=Sales Rep的一个employeeNumber数据,插入到customers的salesRepEmployeeNumber为空的列中。 五、 DELECT 语句
DELETE FROM tasks WHERE task_id=3;删除后: 六、 创建与删除数据库
CREATE DATABASE IF NOT EXISTS mytest;删除数据库 mytest
DROP DATABASE IF EXISTS mytest;七、 CREATE TABLE 语句
CREATE TABLE [IF NOT EXISTS] table_name( column_list ) engine=table_type;其中engine是指定搜索引擎,不添加则使用默认InnoDB,有MyISAM,HEAP,EXAMPLE,CSV,ARCHIVE,MERGE, FEDERATED或NDBCLUSTER 可选。 column_list详细语义:
column_name data_type[size] [NOT NULL|NULL] [DEFAULT value] [AUTO_INCREMENT] PRIMARY KEY (col1,col2,...)
CREATE TABLE IF NOT EXISTS tasks ( task_id INT(11) NOT NULL AUTO_INCREMENT, subject VARCHAR(45) DEFAULT NULL, start_date DATE DEFAULT NULL, end_date DATE DEFAULT NULL, description VARCHAR(200) DEFAULT NULL, PRIMARY KEY (task_id) ) ENGINE=InnoDB;八、 ALTER TABLE 语句 语法:
ALTER TABLE table_name action1[,action2,…]
ALTER TABLE mytest ADD COLUMN task_id INT(11) NOT NULL;其他语法:
ALTER TABLE mytest CHANGE COLUMN task_id task_id INT(10) NOT NULL AUTO_INCREMENT; ALTER TABLE mytest ADD COLUMN task_id INT(11) NOT NULL; ALTER TABLE tasks RENAME TO work_items;
MySQL常用语法
标签:delect title 组成 ast fse mon database delete sts