SQL statement, mysql database, SQL statement mysql
SQL statement to insert data in one table and specific data (fixed constants) into another table
insert into wm_jobpoint_allstatus(CODE,pointstatus,housestatus,roomstatus,workstatus) select code,0,1,1,1 from wm_jobpoint
INSERT INTO wm_department(departmentcode,departmentname,provincecode,citycode,countycode,longitude,latitude) SELECT p.id,p.countyname, p.provincecode,p.citycode,p.countycode,p.longitude,p.latitude FROM wm_county p
The inserted fields must match the queried fields.
Add a fixed field to the data of a column
update video_info set file_path = concat(file_path,'flv');
Functions of mysql to obtain the current time and time
update ammo_outin set isin = ?,intime = DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S') where id = ?
1.1 obtain the current date + time (date + time) function: now ()
In addition to the now () function, MySQL also has the following functions:
current_timestamp() current_timestamp
localtime() localtime
localtimestamp() localtimestamp
These datetime functions are equivalent to now (). Considering that the now () function is short and easy to remember, we recommend that you always use now () to replace the functions listed above.
1.2 obtain the current date + time (date + time) function: sysdate ()
The sysdate () Date and time function is similar to now (). The difference is that now () is obtained at the execution start time, And sysdate () dynamically obtains the value during function execution.
2. Obtain the current date function: curdate ()
The following two date functions are equivalent to curdate (): current_date (), current_date
3. Obtain the current time function: curtime ()
The following two time functions are equivalent to curtime (): current_time (), current_time
4. Obtain the current UTC date and time functions: utc_date (), utc_time (), utc_timestamp ()
Because our country is located in the east eight time zone, the local time = UTC time + 8 hours. UTC time is very useful when your business involves multiple countries and regions.
Ii. MySQL Date and Time Extract (select) function.
1. Select each part of the date and time: date, time, year, quarter, month, day, hour, minute, second, microsecond
set @dt = '2008-09-10 07:15:30.123456';
select date(@dt); -- 2008-09-10
select time(@dt); -- 07:15:30.123456
select year(@dt); -- 2008
select quarter(@dt); -- 3
select month(@dt); -- 9
select week(@dt); -- 36
select day(@dt); -- 10
select hour(@dt); -- 7
select minute(@dt); -- 15
select second(@dt); -- 30
select microsecond(@dt); -- 123456
2. MySQL Extract () function, which can implement similar functions:
set @dt = '2008-09-10 07:15:30.123456';
select extract(year from @dt); -- 2008
select extract(quarter from @dt); -- 3
select extract(month from @dt); -- 9
select extract(week from @dt); -- 36
select extract(day from @dt); -- 10
select extract(hour from @dt); -- 7
select extract(minute from @dt); -- 15
select extract(second from @dt); -- 30
select extract(microsecond from @dt); -- 123456
select extract(year_month from @dt); -- 200809
select extract(day_hour from @dt); -- 1007
select extract(day_minute from @dt); -- 100715
select extract(day_second from @dt); -- 10071530
select extract(day_microsecond from @dt); -- 10071530123456
select extract(hour_minute from @dt); -- 715
select extract(hour_second from @dt); -- 71530
select extract(hour_microsecond from @dt); -- 71530123456
select extract(minute_second from @dt); -- 1530
select extract(minute_microsecond from @dt); -- 1530123456
select extract(second_microsecond from @dt); -- 30123456
In addition to date () and time () functions, the MySQL Extract () function must be fully functional. You can also select 'day _ microsecond. Note that we will not only select day and microsecond, but choose from day of the date to microsecond.
The only bad thing about the MySQL Extract () function is that you need to press the keyboard several more times.
3. MySQL dayof... Function: dayofweek (), dayofmonth (), dayofyear ()
Return the date parameters in the range of one week, one month, and one year.
set @dt = '2008-08-08';
select dayofweek(@dt); -- 6
select dayofmonth(@dt); -- 8
select dayofyear(@dt); -- 221
The date '2017-08-08 'is the first day of the week (1 = Sunday, 2 = Monday ,..., 7 = Saturday); January days in 8th; 221st days in a year.
4. MySQL week... Function: week (), weekofyear (), dayofweek (), weekday (), yearweek ()
set @dt = '2008-08-08';
select week(@dt); -- 31
select week(@dt,3); -- 32
select weekofyear(@dt); -- 32
select dayofweek(@dt); -- 6
select weekday(@dt); -- 4
select yearweek(@dt); -- 200831
The MySQL week () function has two parameters. For details, refer to the manual. Similar to weekofyear () and week (), weekofyear is the day of the year in which the calculation "one day" is located. Weekofyear (@ dt) is equivalent to week (@ dt, 3 ).
The MySQL weekday () function is similar to dayofweek () and returns the position of "one day" in a week. The difference lies in the reference standard, weekday :( 0 = Monday, 1 = Tuesday ,..., 6 = Sunday); dayofweek :( 1 = Sunday, 2 = Monday ,..., 7 = Saturday)
MySQL yearweek () function, returns year (2008) + week position (31 ).
5. MySQL returns the week and month name functions: dayname (), monthname ()
set @dt = '2008-08-08';
select dayname(@dt); -- Friday
select monthname(@dt); -- August
6. MySQL last_day () function: returns the last day of the month.
select last_day('2008-02-01'); -- 2008-02-29
select last_day('2008-08-08'); -- 2008-08-31
Iii. MySQL Date and Time Calculation Functions
1. MySQL adds a time interval for the date: date_add ()
set @dt = now();
select date_add(@dt, interval 1 day); -- add 1 day
select date_add(@dt, interval 1 hour); -- add 1 hour
select date_add(@dt, interval 1 minute); -- ...
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);select date_add(@dt, interval -1 day); -- sub 1 day
MySQL adddate () and addtime () functions can be replaced by date_add. The following is an example of addtime () implemented by date_add:
mysql> set @dt = '2008-08-09 12:12:33';
mysql> select date_add(@dt, interval '01:15:30' hour_second);
+------------------------------------------------+
| date_add(@dt, interval '01:15:30' hour_second) |
+------------------------------------------------+
| 2008-08-09 13:28:03 |
+------------------------------------------------+
mysql> select date_add(@dt, interval '1 01:15:30' day_second);
+-------------------------------------------------+
| date_add(@dt, interval '1 01:15:30' day_second) |
+-------------------------------------------------+
| 2008-08-10 13:28:03 |
+-------------------------------------------------+
The date_add () function adds "1 hour 15 minutes 30 seconds" and "1 day 1 hour 15 minutes 30 seconds" to @ dt respectively ".
Suggestion: always use the date_add () Date and Time Function to replace adddate () and addtime (). <Br>
2. MySQL is a date minus a time interval: date_sub ()
The usage of MySQL date_sub () datetime function is the same as that of date_add. In addition, there are two subdate () and subtime () functions in MySQL. We recommend that you use date_sub () instead.
3. MySQL alternative date functions: period_add (P, N), period_diff (P1, P2)
The format of the function parameter "P" is "YYYYMM" or "YYMM". The second parameter "N" indicates adding or subtracting N month ).
MySQL period_add (P, N): date plus/minus N months.
4. MySQL date and time subtraction functions: datediff (date1, date2), timediff (time1, time2)
MySQL datediff (date1, date2): two dates subtract date1-date2 and return the number of days.
select datediff('2008-08-08', '2008-08-01'); -- 7
select datediff('2008-08-01', '2008-08-08'); -- -7
MySQL timediff (time1, time2): two dates minus time1-time2, return the time difference.
select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08
select timediff('08:08:08', '00:00:00'); -- 08:08:08
Note: The two parameter types of the timediff (time1, time2) function must be the same.
Iv. MySQL date conversion function and time Conversion Function
1. MySQL (time, second) Conversion Function: time_to_sec (time), sec_to_time (seconds)
select time_to_sec('01:00:05'); -- 3605
select sec_to_time(3605); -- '01:00:05'
2. MySQL (date, number of days) conversion functions: to_days (date), from_days (days)
select to_days('0000-00-00'); -- 0
select to_days('2008-08-08'); -- 733627
select from_days(0); -- '0000-00-00'
select from_days(733627); -- '2008-08-08'
3. MySQL Str to Date (string converted to Date) function: str_to_date (str, format)
select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09
select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09
select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09
select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30
select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30
We can see that the str_to_date (str, format) Conversion Function can convert disordered strings into date formats. In addition, it can be converted to time. For "format", see the MySQL manual.
4. MySQL Date/Time to Str (convert date/time to string) functions: date_format (Date, format), time_format (Time, format)
MySQL date and time conversion functions: date_format (date, format), time_format (time, format) can convert a date/time to a variety of string formats. It is an inverse conversion of the str_to_date (str, format) function.
5. MySQL returns the country/region time format function: get_format ()
MySQL get_format () Syntax:
get_format(date|time|datetime, 'eur'|'usa'|'jis'|'iso'|'internal'
All examples of MySQL get_format () usage:
select get_format(date,'usa') ; -- '%m.%d.%Y'
select get_format(date,'jis') ; -- '%Y-%m-%d'
select get_format(date,'iso') ; -- '%Y-%m-%d'
select get_format(date,'eur') ; -- '%d.%m.%Y'
select get_format(date,'internal') ; -- '%Y%m%d'
select get_format(datetime,'usa') ; -- '%Y-%m-%d %H.%i.%s'
select get_format(datetime,'jis') ; -- '%Y-%m-%d %H:%i:%s'
select get_format(datetime,'iso') ; -- '%Y-%m-%d %H:%i:%s'
select get_format(datetime,'eur') ; -- '%Y-%m-%d %H.%i.%s'
select get_format(datetime,'internal') ; -- '%Y%m%d%H%i%s'
select get_format(time,'usa') ; -- '%h:%i:%s %p'
select get_format(time,'jis') ; -- '%H:%i:%s'
select get_format(time,'iso') ; -- '%H:%i:%s'
select get_format(time,'eur') ; -- '%H.%i.%s'
select get_format(time,'internal') ; -- '%H%i%s'
The MySQL get_format () function has fewer opportunities in practice.
6. MySQL patchwork Date and Time Functions: makdedate (year, dayofyear), maketime (hour, minute, second)
select makedate(2001,31); -- '2001-01-31'
select makedate(2001,32); -- '2001-02-01'select maketime(12,15,30); -- '12:15:30'
V. MySQL Timestamp Function
1. MySQL returns the current timestamp function: current_timestamp, current_timestamp ()
2. MySQL (Unix timestamp, date) Conversion Function:
unix_timestamp(),
unix_timestamp(date),
from_unixtime(unix_timestamp),
from_unixtime(unix_timestamp,format)
3. MySQL timestamp conversion, addition, and subtraction functions:
timestamp(date) -- date to timestamp
timestamp(dt,time) -- dt + time
timestampadd(unit,interval,datetime_expr) --
timestampdiff(unit,datetime_expr1,datetime_expr2) --
MySQL timestampdiff () functions are much more powerful than datediff () functions. datediff () can only calculate the number of days for the difference between two dates.
Vi. MySQL timezone Conversion Function convert_tz (dt, from_tz, to_tz) select convert_tz ('2017-08-08 12:00:00 ',' + ',' + '); -- 04:00:00
You can also use date_add, date_sub, and timestampadd to convert time zones.
select date_add('2008-08-08 12:00:00', interval -8 hour); -- 2008-08-08 04:00:00
select date_sub('2008-08-08 12:00:00', interval 8 hour); -- 2008-08-08 04:00:00
select timestampadd(hour, -8, '2008-08-08 12:00:00'); -- 2008-08-08 04:00:00